常常在使用Hibernate、mybatis时候,当插入一条数据的时候,实体Bean的原空主键就赋上新值了。在JDBC中,也可以通过变相的手法来做到这点。
使用prepareStatement(String sql, int autoGeneratedKeys) 来定义PreparedStatement对象。并且指定:PreparedStatement.RETURN_GENERATED_KEYS 。
PreparedStatement psmt = conn.prepareStatement(sql, PreparedStatement.RETURN_GENERATED_KEYS); psmt.executeUpdate(); ResultSet keyResultSet = psmt.getGeneratedKeys(); keyResultSet.next(); long num =keyResultSet.getLong(1);