两种方法在插入数据的时候,返回直增字段的主键

来源:互联网 发布:python检测ip能否ping 编辑:程序博客网 时间:2024/06/08 03:06

最近工作需要用到推送账号,主键是直增,用到spring提供的GeneratedKeyHolder(),实现在插入数据的时候,返回直增字段的主键,代码如下


public long genIMAccount() {KeyHolder generatedKeyHolder = new GeneratedKeyHolder(); this.getJdbcTemplate().update(new PreparedStatementCreator() {@Overridepublic PreparedStatement createPreparedStatement(Connection conn)throws SQLException {PreparedStatement ps = conn.prepareStatement("insert into TMH_IM_ACCOUNT_GEN(create_time) values(?)",new String[]{"im_account"});  ps.setString(1, DateUtil.toString(new Date()));return ps;  }  }, generatedKeyHolder);return generatedKeyHolder.getKey().longValue();}


如果是使用 Hibernate的话,可以再保存对象后直接调用 get 取到主键,核心原理可以看我之前转载的 hibernate  三种状态,非常有用

0 0