转载

获取 JDBC 插入数据主键

获取主键

在 Hibernate 中,当我们插入新的数据时,比如插入一个新的对象,当插入完成后,改对象就会由 瞬时态 转换为 持久态 ,此时我们可以轻松地从此对象获取到新插入数据的主键 id

其实,在 JDBC 中,我们也可以轻松获取的到,但是需要在 Statement 执行 execute 方法时,需要加一个参数: Statement.RETURN_GENERATED_KEYS ,这样, Statement 在执行完毕后会返回一个主键结果集,我们遍历结果集就可以获取到我们插入数据的主键 id ,部分代码如下所示:

Class.forName(DRIVER); Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/java_demo", USER, PASS);  // 插入两条数据 String sql = "INSERT INTO usr(name) values('smoker'),('blog')"; Statement statement = connection.createStatement(); statement.execute(sql, Statement.RETURN_GENERATED_KEYS); ResultSet rs = statement.getGeneratedKeys();  // 遍历结果集,打印主键 while (rs.next()) {     System.out.println(rs.getLong(1)); }

运行结果如下

原文  http://blog.smoker.cc/java/20160415.html
正文到此结束
Loading...