public int save(Model model) { logger.info("Start create a model:" + model.getName()); Map<String, Object> parmMap = new HashMap<String, Object>(); parmMap.put("name", model.getName()); parmMap.put("group", model.getGroup()); parmMap.put("type", model.getType()); parmMap.put("category", model.getCategory()); parmMap.put("description", model.getDescription()); KeyHolder keyHolder = new GeneratedKeyHolder(); SqlParameterSource source = new MapSqlParameterSource(parmMap); int rc = getJdbcTemplate().update(SQL_CREATE_MODEL, source ,keyHolder); System.out.println(keyHolder.getKey().intValue()); if (rc > 0) { return keyHolder.getKey().intValue(); } else { return 0; } }
public int insertTable(LabelForm f) throws SQLException,ParseException { String content = f.getSiteId(); final String sql = "insert into TAG_INFO(SITE_ID,NAME,CONTENT) values(?,?,'"+content+"')"; KeyHolder keyHolder = new GeneratedKeyHolder(); getJdbcTemplate().update( new PreparedStatementCreator() { public PreparedStatement createPreparedStatement(Connection con) throws SQLException { PreparedStatement ps = getJdbcTemplate().getDataSource() .getConnection().prepareStatement(sql,new String[]{ "SITE_ID" ,"NAME"}); ps.setString(1, "站点号"); ps.setString(2, "我的名字"); return ps; } }, keyHolder); System.out.println("自动插入id============================" + keyHolder.getKey().intValue()); return keyHolder.getKey().intValue(); }
相关推荐
为了解决这个问题,MySQL官方推荐使用批量插入,即将多条数据一次性插入,如`INSERT INTO TBL_TEST (id) VALUES (1), (2), (3)`。这种方式减少了网络传输的负担,同时减少了服务器的解析次数,从而提高了性能。 ...
这里,`LAST_INSERT_ID()`是MySQL的函数,用于获取上一次自增ID(假设`user_id`是自增主键),确保两个表之间的关联。 在Spring中,我们可以使用JdbcTemplate或NamedParameterJdbcTemplate来执行这些SQL语句。首先...
对于插入操作,Spring JDBC提供了SimpleJdbcInsert类,它可以自动生成INSERT语句并处理主键自增的问题。对于存储过程的调用,SimpleJdbcCall则扮演了关键角色,它可以方便地包装和执行数据库的存储过程。 在实际...
SimpleJdbcInsert主要用于简化插入操作,它可以自动生成INSERT语句并处理自增主键的返回值。例如: ```java SimpleJdbcInsert insert = new SimpleJdbcInsert(jdbcTemplate) .withTableName("Users") ....
例如,使用`jdbcTemplate.queryForList()`获取数据,`jdbcTemplate.update()`进行插入、更新等操作。 - 如果使用JPA,可以使用`repository.save()`保存对象,`repository.findById()`查询等方法。 5. **创建...