原理:
在Mysql中同一个连接执行了insert语句,接着执行SELECT LAST_INSERT_ID()可以获得刚刚插入的自增。
下面公开一段相关的Java代码
/**
* 执行插入操作并且获得新的Id
*
* @param dataSource
* @param sql
* @param params
* @return
* @throws SQLException
*/
public static int insertAndGetId(DataSource dataSource, String sql, Object[] params)
throws SQLException {
Connection con = dataSource.getConnection();
PreparedStatement pstmt = con.prepareStatement(sql);
try {
for (int i = 1; i <= params.length; i++) {
pstmt.setObject(i, params[i - 1]);
}
pstmt.executeUpdate();
ResultSet rs = pstmt.executeQuery("SELECT LAST_INSERT_ID()");
rs.next();
int newId = rs.getInt(1);
rs.close();
return newId;
} finally {
try {
pstmt.close();
} finally {
con.close();
}
}
}
本文介绍了一种在Java中使用MySQL数据库的方法,通过执行插入操作后立即调用LAST_INSERT_ID()来获取最新插入记录的自增ID。该方法适用于需要根据刚插入的数据ID进行后续操作的应用场景。
946

被折叠的 条评论
为什么被折叠?



