转载:javaweb学习总结(三十七)——获得MySQL数据库自动生成的主键
javaweb学习总结(三十七)——获得MySQL数据库自动生成的主键
转自:http://www.cnblogs.com/xdp-gacl/p/3983922.html
测试脚本如下:
1 create table test1
2 (
3 id int primary key auto_increment,
4 name varchar(20)
5 );
测试代码:
1 package me.gacl.demo;
2
3 import java.sql.Connection;
4 import java.sql.PreparedStatement;
5 import java.sql.ResultSet;
6 import me.gacl.utils.JdbcUtils;
7
8 public class Test {
9 public static void main(String[] args) {
10 Connection conn = null;
11 PreparedStatement st = null;
12 ResultSet rs = null;
13 try{
14 conn = JdbcUtils.getConnection();
15 String sql = "insert into test1(name) values(?)";
16 st = conn.prepareStatement(sql);
17 st.setString(1, "aaa");
18 st.executeUpdate();
19 //获取数据库自动生成的主键
20 rs = st.getGeneratedKeys();
21 if(rs.next()){
22 System.out.println(rs.getInt(1));
23 }
24 }catch (Exception e) {
25 e.printStackTrace();
26 }finally{
27 JdbcUtils.release(conn, st, rs);
28 }
29 }
30 }
分类: JavaWeb学习总结
标签: JavaWeb学习总结
评论
#1楼 2016-04-18 15:35 tossgoon2605
#2楼 2016-05-15 14:18 秋风扫落木
|
#3楼 2016-11-05 23:47 拉桑
@ 秋风扫落木 是的,我测试过。 我使用mysql-connector-java-5.1.33-bin.jar作为驱动,结果发现必须改成如下语句才能执行
而mysql-connector-java-3.0.10.jar作为驱动,使用
或则使用
都是可以的 |
19 //获取数据库自动生成的主键
20 rs = st.getGeneratedKeys();
21 if(rs.next()){
22 System.out.println(rs.getInt(1));
23 }
为获取最新插入的ID,必须用遍历的手段么?