`
justinyao
  • 浏览: 40494 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

使用springJDBCTemple返回插入数据的id

阅读更多

今天项目中遇到了需要返回插入数据的id 的一项业务(数据库id自动增长),数据库连接使用spring jdbctemplate,网上查了一下发现结合spring使用的比较少,所以记录下我的实现方法:

			final Star star = getStarInfo();
			KeyHolder keyHolder = new GeneratedKeyHolder();

			row = this.jt.update(new PreparedStatementCreator() {
				@Override
				public PreparedStatement createPreparedStatement(Connection con)
						throws SQLException {
					PreparedStatement ps = con.prepareStatement("insert into `star`(`stype`,`name`) values (?,?)",
							Statement.RETURN_GENERATED_KEYS);
					ps.setInt(1, star.getStype());
					ps.setString(2, star.getName());
			return ps;
				}
			}, keyHolder);
			// 获取插入记录的id
			Long generatedId = keyHolder.getKey().longValue();

  
这里的generatedId 就是刚刚插入那条记录的ID. 注意Statement.RETURN_GENERATED_KEYS一定要加上.

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics