/**
* 插入数据并返记录的主键ID
* @param jdbcTemplate
* @param sql
* @return
*/
public int updateID(JdbcTemplate jdbcTemplate, String sql){
KeyHolder keyHolder = new GeneratedKeyHolder();
jdbcTemplate.update(new PreparedStatementCreator(){
public PreparedStatement createPreparedStatement(Connection conn) throws SQLException {
// new String[]{"ID"} 确定主键名称
PreparedStatement ps=conn.prepareStatement(sql, new String[]{"ID"});
System.out.println(ps);
return ps;
}
}, keyHolder);
return keyHolder.getKey().intValue();
}
new String[]{"ID"} -------- 这个很关键,ID是我表的主键字段,之前看了很多文章,这里都没说填这个,所以一直返回null,然后我的sql是拼接写好的,并不是用防注入式的语句。