JDBC获取插入记录的主键值
程序员文章站
2022-06-02 15:59:51
...
实现方案:
/**
* 实现: JDBC 返回插入记录的主键值
* 实现要求:前提是表的主键必须是自增长的
* @param clazz
* @param sql: INSERT INTO userinfos(userName,password,date,address) VALUES(?,?,?,?);
* @param args
* @return
*/
public static <T> Integer getGeneratedKey(Class<T> clazz, String sql, Object... args){
Integer keyValue = null;
Connection connection = JdbcUtils.getConnection();
if(null == connection){
return null;
}
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
try {
//Statement.RETURN_GENERATED_KEYS = 1
//在preparedstatement里加入statement.RETURN_GENERATED_KEYS参数,代表需要获取自增主键值
preparedStatement = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
for (int i = 0; i < args.length; i++) {
preparedStatement.setObject(i + 1, args[i]);
}
//在这里必须先提交修改,然后再获取主键,否则会报空指针异常
preparedStatement.executeUpdate();
resultSet = preparedStatement.getGeneratedKeys();
if (resultSet.next()) {
keyValue = (Integer) resultSet.getObject(Statement.RETURN_GENERATED_KEYS);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
JdbcUtils.closeResource(connection,null,preparedStatement,resultSet);
}
return keyValue;
}
上一篇: 看透关键词搜索意图才能做好百度推广
下一篇: 生成主键工具
推荐阅读
-
MyBatis 获取插入记录的 id
-
mybatis 插入时返回刚插入记录的主键值
-
MySQL中获取刚插入记录的自增长主键的方法
-
如何得到JDBC Insert 语句执行后插入Oracle 数据库记录的主键
-
TP+ORACLE插入数据BUG修复及支持获取自增Id的上次记录
-
ORACLE10g及其以上版本 JDBC 获取刚插入一条数据的主键id(转载)
-
mybatis 插入时返回刚插入记录的主键值 (Oracle作为数据库)
-
mybatis 插入时返回刚插入记录的主键值 (Oracle作为数据库)
-
ORACLE10g及其以上版本 JDBC 获取刚插入一条数据的主键id(转载)
-
Mybatis向数据库插入记录的同时获取其自增的id值