Spring的JdbcTemplate插入操作返回主键ID的方法:Srping 2.5
/**
* 妞见妞爱
*
* 增加并且获取主键
* @param sql sql语句
* @param params 参数
* @return 主键
*/
public Long insertAndGetKey(final String sql, final SmsBean smsbean) {
KeyHolder keyHolder = new GeneratedKeyHolder();
jdbcTemplate.update(new PreparedStatementCreator() {
public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {
//String sql_sms = "insert into sms(title,content,date_s,form,sffs,by1,by2,by3) values (?,?,'"+dates+"',?,?,?,?,?)";
PreparedStatement ps = connection.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);
ps.setString(1, smsbean.getTitle());
ps.setString(2, smsbean.getContent());
ps.setString(3, smsbean.getForm());
ps.setString(4, smsbean.getSffs());
/*
* by1 存放的是 草稿主人的ID
* 当消息为发送。清楚by1的ID
*/
ps.setString(5, "");
ps.setString(6, smsbean.getBy2());
ps.setString(7, smsbean.getBy3());
return ps;
}
}, keyHolder);
Long generatedId = keyHolder.getKey().longValue();
return generatedId;
}
上面是我开发中的代码...但是一直有个问题没解决 就是 在这个方法中保存日期的时候老是报错。。
由于项目时间紧 也没时间去研究...所以就把 日期 拼接在 sql 语句中了。。。O(∩_∩)O哈哈~
有空我在测试...今天先到这里....
本文讨论了在使用Spring框架的JdbcTemplate进行插入操作时,如何正确返回主键ID,并解决在保存日期时遇到的问题。通过提供具体的代码示例,展示了如何避免直接在SQL语句中拼接日期字符串,从而防止潜在的错误。

11万+

被折叠的 条评论
为什么被折叠?



