步骤:
1)设置需要返回生成的主键,【通过preparedStatement的第二个参数】
PreparedStatement prepareStatement(String sql, int autoGeneratedKeys);//创建一个默认 PreparedStatement 对象,该对象能获取自动生成的键
参数:
autoGeneratedKeys - 指示是否应该返回自动生成的键的标志,
它是 Statement.RETURN_GENERATED_KEYS 或 Statement.NO_GENERATED_KEYS 之一
2)执行SQL语句
pstmt.executeUpdate();//其它方法也可以
3)获取由于执行此 Statement 对象而创建的所有自动生成的键
ResultSet getGeneratedKeys()
4)获取生成的主键
while (rs.next()) {
System.out.println("主键值: " + rs.getInt(1));
}
code:
1)设置需要返回生成的主键,【通过preparedStatement的第二个参数】
PreparedStatement prepareStatement(String sql, int autoGeneratedKeys);//创建一个默认 PreparedStatement 对象,该对象能获取自动生成的键
参数:
autoGeneratedKeys - 指示是否应该返回自动生成的键的标志,
它是 Statement.RETURN_GENERATED_KEYS 或 Statement.NO_GENERATED_KEYS 之一
2)执行SQL语句
pstmt.executeUpdate();//其它方法也可以
3)获取由于执行此 Statement 对象而创建的所有自动生成的键
ResultSet getGeneratedKeys()
4)获取生成的主键
while (rs.next()) {
System.out.println("主键值: " + rs.getInt(1));
}
code:
/*设置可以返回生成的主键*/ pstmt = conn.prepareStatement(SqlMapping.ADD_USER_PRIMARYSQL, Statement.RETURN_GENERATED_KEYS); /*执行SQL语句*/ int rows = pstmt.executeUpdate(); /* 获取执行后的SQL语句生成的键值 */ rs = pstmt.getGeneratedKeys();// GeneratedKeys:生成的键 while (rs.next()) { System.out.println("主键值: " + rs.getInt(1)); }