执行insert或update的sql语句时,jdbcTemplate都是返回受影响行数
主要就是重写方法
PreparedStatement psst = connection.prepareStatement(sql, new String[] { "c_id" });
c_id写的是你要返回的主键id
psst.setInt(1, MyUtil.getInteger("u_id", params));
主要是预编译用来传值
public int save(Map<String, Object> params) {
int ret = 0;
String sql ="INSERT INTO bh_content(u_id,c_title,c_content,c_create_time,c_start_time,c_end_time,c_departement,c_is_voer,c_count) VALUES(?,?,?,NOW(),?,?,2,0,0);";
String sql2 = "INSERT INTO bh_user_content(u_id,c_id,uc_look,uc_start,d_id,uc_create_time) VALUES(?,?,0,0,?,NOW())";
try {
GeneratedKeyHolder keyHolder = new GeneratedKeyHolder();
int insert =jdbcTemplate.update(new PreparedStatementCreator() {
@Override
public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {
PreparedStatement psst = connection.prepareStatement(sql, new String[] { "c_id" });
psst.setInt(1, MyUtil.getInteger("u_id", params));
psst.setString(2, MyUtil.getString("c_title", params));
psst.setString(3, MyUtil.getString("c_content", params));
psst.setString(4, MyUtil.getString("c_start_time", params));
psst.setString(5, MyUtil.getString("c_end_time", params));
return psst;
}
}, keyHolder);
if(insert > 0){
ret = jdbcTemplate.update(sql2,new Object[]{params.get("u_id"),keyHolder.getKey().longValue(),params.get("d_id")});
}
} catch (Exception e) {
SystemPrint.a_println(e);
log.error(e.getMessage());
}
return ret;
}