在一对多的关联操作中,通常在一方插入记录后,需要获取到当前记录的id,以方便进行多方的插入操作。要解决这一问题,在JDBC中至少有三种不同的实现方法:
1.在插入语句后添加一条查询,利用resultset来得到id号
psmt = con.prepareStatement
("insert into orders (receiver,address,telephone,total,detailnum,userid)values(?,?,?,?,?,?);select
@@identity");
psmt.setString(1, order.getReceiver());
……
results = psmt.executeQuery();
if(results.next())
{
num = results.getInt(1);
}
2.利用generatedKey来获取id
psmt = con.prepareStatement
("insert into orders (receiver,address,telephone,total,detailnum,userid)values
(?,?,?,?,?,?)",Statement.RETURN_GENERATED_KEYS);
psmt.setString(1, order.getReceiver());
……
psmt.executeUpdate();
results = psmt.getGeneratedKeys();
int num = -1;
if(results.next())
{
num = results.getInt(1);
}
3.调用存储过程来实现,当然这种情况下,插入对象的属性不宜过多,否则存储过程的输入参数太多。在存储过程中,将id作为输出参数返回
CallableStatement proc = conn.prepareCall("{call proc_insert(?,?,?)}");
proc.setString(1, cardname);
proc.setInt(2, money);
proc.registerOutParameter(3, Types.INTEGER);
proc.execute();
num = proc.getInt(3)
相关推荐
java 利用 jdbc 向 mysql 数据库插入记录并返回插入记录生成的主键值
java 向mysql 插入记录,用bonecp 多线程并行插入记录 用acer 3750g测试结果500-600条/秒/每张表,台式机更快一些约800条/秒/每张表,分析用的SQL语句 select max(num),min(num),avg(num) from ( select count(*) num...
java利用jdbc连接数据库之插入数据.docx
一、JDBC的批量插入 一、JDBC的批量更新 一、JDBC的批量删除 一、JDBC的批量修改
// 设置成可以获取主键 preparedStatement = connection.prepareStatement(sql, Statement.RE
JDBC加载数据库驱动的三种方法 简单高效
NULL 博文链接:https://superjavason.iteye.com/blog/255423
JDBC 用线程写入mysql数据库记录10万条,测试本机127.0.0.1写入速度约 482条/秒,测试代码端显示约需要124秒,SQL分析数据结果是480条左右,除去前后两秒无效数据,统计SQL如下 select max(num),min(num),avg(num) ...
Mybatis与JDBC批量插入MySQL数据库性能测试,资源包含文档、代码和数据库。
针对oracle中blob字段的操作,能批量快速的插入大字段,效率非常高
NULL 博文链接:https://sunfish.iteye.com/blog/1455357
本视频演示,如何使用用oracle的java类库。
JDBC的批处理操作三种方式JDBC的批处理操作三种方式JDBC的批处理操作三种方式JDBC的批处理操作三种方式JDBC的批处理操作三种方式
JDBC2.0新功能JDBC2.0新功能JDBC2.0新功能
我们可以使用addBatch()和executeBatch()方法选择标准的JDBC批处理,或者通过利用PreparedStatement对象的setExecuteBatch()方法和标准的executeUpdate()方法选择速度更快的Oracle专有的方法。要使用Oracle专有的...
jdbc jdbc jdbc jdbc jdbc jdbc jdbc jdbc
利用JDBC连接数据库,不依耐mysql的shell命令, 适合b/s 服务器备份
jdbc连接数据库的三种方式。不一定非要用实例ID奥
该资源主要实现如下功能,利用poi获取excel中大量数据,然后利用jdbc批量插入到mysql
JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单...