首页 > 代码库 > 利用GeneratedKeyHolder获得新建数据主键值
利用GeneratedKeyHolder获得新建数据主键值
Spring利用GeneratedKeyHolder,提供了一个可以返回新增记录对应主键值的方法:int update(PreparedStatementCreator psc, KeyHolder generatedKeyHolder).
Spring为KeyHolder接口指代了一个通用的实现类GeneratedKeyHolder,该类返回新增记录时的自增长主键值。假设我们希望在新增论坛板块对象后,希望将主键值加载到对象中,则可以按以下代码进行调整:
1 final String INSERT_SQL = "insert into gtable(username,callback) values(?,?)"; 2 KeyHolder keyHolder = new GeneratedKeyHolder(); 3 jdbcTemplate.update(new PreparedStatementCreator() { 4 public PreparedStatement createPreparedStatement( 5 Connection connection) throws SQLException { 6 PreparedStatement ps = connection.prepareStatement(INSERT_SQL, 7 new String[] { "id" }); 8 ps.setString(1, request.getUsername()); 9 ps.setString(2, request.getCallback());10 return ps;11 }12 }, keyHolder);13 logger.debug("id:" + keyHolder.getKey()+"long:"+keyHolder.getKey().longValue());
利用GeneratedKeyHolder获得新建数据主键值
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。