Mysql 如何 得到新插入的字段ID
N年前的代码应该还能用
/**
* @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();
}
}
}