[救急]关于jdbc批处理更新时候的查询问题

jackingod 2010-08-24 10:06:40
在一个链接中进行批量处理,conn 为同一个链接, 初始化默认打开事物并且设置自动提交为false。

insertIntoEvw(conn, corrList, user_id);// 插入evw表

// 从evw中检索数据, 插入到主表
insertEvtFromEvw(conn, user_id);

完成后 conn.commit();

但是现在遇到一个问题插入evw后 在后来这个insertEvtFromEvw方法中检索不到前一步插入到evw的数据。

以前也遇到过, 通过程序的方式处理的, 请问高手有什么处理方法?
...全文
112 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackingod 2010-09-16
  • 打赏
  • 举报
回复
谢谢楼上2位, 是自己程序有点问题。真不应该。
ljf_ljf 2010-08-24
  • 打赏
  • 举报
回复
1) 你使用的事务数据库是这样的. 当你还没有提交(Commit),数据存储介质记录依然是没有改变的. 所以,你查询的结果依然是没有那一条记录.
2) 基于第一的原因,我们在处理批量插入时候需要注意两个事情.
第一,插入数据是否需要进行即时查询.有其他的业务需要基于这些数据继续进行呢?若是需要,请你不要进行批量插入.因为这样会影响到你系统本身的业务.
第二,寻找一个适合本身系统批量插入的机制.(多少秒就提交一次或者是插入多少条记录提交一次等)
bean 2010-08-24
  • 打赏
  • 举报
回复
插入evw后,应该先COMMIT一下吧

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧