用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); } }
这样做的前提是表的主键必须是自增长的
相关文章推荐
- 数据库设计--垂直拆分数据
- MySQL-终端基本操作
- linux reshat redis 安装
- Ubuntu 安装mysql和简单操作
- Sqlserver导入数据
- Redis命令执行全过程
- Oracle常见问题,及处理。
- mysql 输出表的详细信息详解 show table status like '表名'
- 使用Scala操作Mongodb
- sql语句中使用正则表达式
- 无法启动服务器XXXXX上的服务 SQLSERVERAGENT SQL Server代理服务启动后又停止了
- redo日志的理解
- oracle 多行插入 insert all
- 操作mysql的笔记
- oracle报错:无法找到会话标识符。启用检查 PLUSTRACE 角色
- MySQL存储引擎
- <学习笔记> mySQL的一些简单的操作
- django 1.8 官方文档翻译: 2-6-2 遗留的数据库
- sqlserver几个好用的表值函数和标量函数
- Redis学习手册(List数据类型)