博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
批量新增
阅读量:6282 次
发布时间:2019-06-22

本文共 2763 字,大约阅读时间需要 9 分钟。

hot3.png

public void batchSave(List
list) { Session session = P2MServiceLocator.getSessionFactory().openSession(); Transaction ts = session.beginTransaction(); for (int i = 0; i < list.size(); i++) { session.save(list.get(i)); if ((i % list.size()) == 0) { // 批次向数据库中提交,i % list.size()) == 1000,则每1000条向数据库新增 session.flush(); // 清空缓存区,释放内存供下批数据使用 session.clear(); } } ts.commit(); session.close(); }
private void batchSaveObject(final String objectId, final String creatorName, final String creatorId, final String[] taskId, final String[] taskName) {        Session session = P2MServiceLocator.getSessionFactory().openSession();        Transaction ts = session.beginTransaction();        for (int i = 0; i < taskId.length; i++) {            DataApprovalObject da = new DataApprovalObject();            da.setDataId(taskId[i]);            da.setObjectId(objectId);            da.setDataName(taskName[i]);            da.setCreator(creatorName);            da.setCreatorId(creatorId);            da.setCreateTime(new Timestamp(new Date().getTime()));            session.save(da);            if ((i % taskId.length) == 0) {                // 批次向数据库中提交,此值应与配置的批量尺寸一致                session.flush();                // 清空缓存区,释放内存供下批数据使用                session.clear();            }        }        ts.commit();        session.close();    }
private void batchSaveDATA(final String objectId, final String creatorName, final String creatorId, final String[] taskId, final String[] taskName) {        Session session = P2MServiceLocator.getSessionFactory().openSession();        Transaction tx = session.beginTransaction();        session.doWork(new Work() {            @Override            public void execute(Connection conn) throws SQLException {                String sql = " INSERT INTO PM_DATA_APPROVAL (ID,DATA_ID,OBJECT_ID,DATA_NAME,CREATOR,CREATEOR_ID,CREATE_TIME)" +                        " values (?,?,?,?,?,?,?) ";                PreparedStatement ps = conn.prepareStatement(sql);                for (int i = 0; i < taskId.length; i++) {                    ps.setString(1, CommonUtil.getUUID());                    ps.setString(2, taskId[i]);                    ps.setString(3, objectId);                    ps.setString(4, taskName[i]);                    ps.setString(5, creatorName);                    ps.setString(6, creatorId);                    ps.setTimestamp(7, new Timestamp(new Date().getTime()));                    ps.addBatch();                }                ps.executeBatch();            }        });        tx.commit();        session.close();    }

 

转载于:https://my.oschina.net/Tsher2015/blog/1837851

你可能感兴趣的文章
Mono for Android 优势与劣势
查看>>
将图片转成base64字符串并在JSP页面显示的Java代码
查看>>
js 面试题
查看>>
sqoop数据迁移(基于Hadoop和关系数据库服务器之间传送数据)
查看>>
腾讯云下安装 nodejs + 实现 Nginx 反向代理
查看>>
Javascript 中的 Array 操作
查看>>
java中包容易出现的错误及权限问题
查看>>
AngularJS之初级Route【一】(六)
查看>>
服务器硬件问题整理的一点总结
查看>>
SAP S/4HANA Cloud: Revolutionizing the Next Generation of Cloud ERP
查看>>
Mellanox公司计划利用系统芯片提升存储产品速度
查看>>
白帽子守护网络安全,高薪酬成大学生就业首选!
查看>>
ARM想将芯片装进人类大脑 降低能耗是一大挑战
查看>>
Oracle数据库的备份方法
查看>>
Selenium 自动登录考勤系统
查看>>
关于如何以编程的方式执行TestNG
查看>>
智能照明造福千家万户 家居智能不再是梦
查看>>
物联网如何跳出“看起来很美”?
查看>>
浅谈MySQL 数据库性能优化
查看>>
《UNIX/Linux 系统管理技术手册(第四版)》——1.10 其他的权威文档
查看>>