如何向数据库添加时同时返回ID
2013-10-27 21:20
183 查看
我们在做项目开发时很多时候都需要数据库的增删改查,而添加数据后又想得到该项数据在数据库中的主键值,这里有一个非常方便的方法可以在插入数据的同时获得主键值。
注意上面代码:要添加Statement.RETURN_CENERATED_KEYS
就可以用 pst.getGenerateKeys()方法得到主键。
public void save(Person p) throws SQLException { String sql = "insert into person (name,pwd,sex,age,email,loves) values(?,?,?,?,?,?)"; Connection conn = DbUtil.getConnection(); PreparedStatement pst =conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS); pst.setString(1, p.getName()); pst.setString(2, p.getPwd()); pst.setString(3, p.getSex()); pst.setInt(4, p.getAge()); pst.setString(5, p.getEmail()); StringBuffer loves = new StringBuffer(""); //将爱好信息拼成字符串 for(String s:p.getLoves()){ loves.append(s); loves.append(","); } //如果用户没选择爱好,则写入"" if(loves.length()>0){ loves.substring(0, loves.length()-1); pst.setString(6, loves.toString()); }else{ pst.setString(6,""); } pst.executeUpdate(); ResultSet rs = pst.getGeneratedKeys(); rs.next(); int id = rs.getInt(1); p.setId(id); DbUtil.closeConnection(conn); }
注意上面代码:要添加Statement.RETURN_CENERATED_KEYS
conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);
就可以用 pst.getGenerateKeys()方法得到主键。
相关文章推荐
- oracle+110个常用函数
- linux安装memcached
- 【MongoDB for Java】Java操作MongoDB
- mongoDB 入门指南、示例
- Java实现MongoDB的日期(Date)分组功能
- 在Java中实现MongoDB的Group功能
- Oracle(一)-Oracle中的Like语句与索引
- Oracle Clusterware的心跳
- Afinal数据库模块实现(一)_注释Annotation和反射生成SQL语句
- Oracle 11g exp不能导出的空表处理方法
- 详解数据库中的视图、临时表
- mysql导入导出数据中文乱码解决方法小结
- C#如何使用数据库
- Oracle
- oracle使用自治事务记录系统日志
- 完整java开发中JDBC连接数据库代码和步骤
- SQL中:已更新或删除的行值要么不能使改行成为了多个行
- Oracle索引 详解
- 使用R进行数据可视化套路之-多重散点图、连接Mysql获取数据
- MySQL数据库锁介绍