Java获取数据库自增主键表中插入数据的ID

时间:2022-04-28 13:54:39

这段代码是为了解决,JDBC中在给自增表插入数据后获取插入数据自动生成的ID问题。上网找了半天资料,原来在JDK中有提供方法哎。

参考资料点击打开链接感谢诸位高手的指点。

直接上代码吧:

/**
* 自增主键主键插入值后获取自增ID
* @param sql
* @return
*/
public int insertIntoDB(String sql){
Connection conn = null;
Statement state = null;
ResultSet rs = null;
int key = -1;
try{
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jx3", "root", "root");
state = conn.createStatement();
state.executeUpdate(sql, Statement.RETURN_GENERATED_KEYS);
rs = state.getGeneratedKeys();
if(rs.next()){
key = rs.getInt(1);
}
return key;
}catch (SQLException e) {
e.printStackTrace();
return key;
}finally{
try{
if(rs != null){
rs.close();
rs = null;
}
if(state != null){
state.close();
state = null;
}
if(conn != null){
conn.close();
conn = null;
}
}catch (SQLException e) {
e.printStackTrace();
}
}
}