您的位置:首页 > 数据库

用jdbc向数据库插入数据后获取生成的主键值

2015-07-25 17:04 549 查看
public Integer addClass(ClassEntity classEntity) {
Connection conn=null;
PreparedStatement preparedStatement=null;
ResultSet resultSet=null;
Integer id=null;
try {
conn=DBUtils.getConn();
//在preparedstatement里加入statement.RETURN_GENERATED_KEYS参数,代表需要获取自增主键值
preparedStatement=conn.prepareStatement("insert into class (name,sid)values(?,?)",**Statement.RETURN_GENERATED_KEYS**);
preparedStatement.setString(1, classEntity.getName());
preparedStatement.setInt(2, 1);
//在这里必须先提交修改,然后再获取主键,否则会报空指针异常
preparedStatement.executeUpdate();
resultSet=preparedStatement.getGeneratedKeys();
if(resultSet.next()){
id=resultSet.getInt(1);
}
return id;
} catch (SQLException e) {
e.printStackTrace();
throw new DaoException(e.getMessage(),e);
}finally{
DBUtils.closeConnection(conn);
}
}


这样做的前提是表的主键必须是自增长的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: