博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hibernate批量插入数据库操作案例
阅读量:5804 次
发布时间:2019-06-18

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

hot3.png

public void testSave1() {

               Session session = null;
               Transaction tx = null;
               try {
                       session = HibernateUtils.getSession();
                       tx = session.beginTransaction();
                       User1 user = new User1();
                       user.setName("李四");

                        //主键采用数据库序列自动生成策略

                       session.save(user);

                        /*flush()和缓存相关。执行时会清除session缓存并向数据库发送SQL语句并执行,但此时如果数据库当前    存 在一个事务,数据库会先将这些SQL语句缓存起来,那么此时在数据库中是无法看到SQL语句执行结果的。除非执行commit提交了事务。只要没有执行commit()方法,就能通过rollback()方法进行回滚*/

                       session.flush();
                       /*提交事务,默认情况下commit操作会先执行flush清理缓存,所以不用显示的调用flush,commit后数据是无法 回滚的*/
                       tx.commit();
               } catch (Exception e) {
                       e.printStackTrace();
                       tx.rollback();
               } finally {
                       HibernateUtils.closeSession(session);
               }
       }

转载于:https://my.oschina.net/u/1429171/blog/383545

你可能感兴趣的文章
Linux基础命令---rmdir
查看>>
优秀程序员共有的7种优秀编程习惯
查看>>
iOS sqlite3(数据库)
查看>>
粤出"飞龙",打造新制造广东样本
查看>>
编玩边学获数千万元A轮融资,投资方为君联资本
查看>>
开发者论坛一周精粹(第五十五期) 全站HTTPS之OSS教程 一次可以备案几个网站?...
查看>>
(干货)Linux学习资源推荐
查看>>
蓝图(Blueprint)详解
查看>>
Spark之SQL解析(源码阅读十)
查看>>
Android图片添加水印图片并把图片保存到文件存储
查看>>
C#字符串的不变性
查看>>
前端路由简介以及vue-router实现原理
查看>>
比特币系统采用的公钥密码学方案和ECDSA签名算法介绍——第二部分:代码实现(C语言)...
查看>>
分享15款很实用的 Sass 和 Compass 工具
查看>>
AMD优势: 与众不同 选择丰富
查看>>
玩转高性能超猛防火墙nf-HiPAC
查看>>
简单按日期查询mysql某张表中的记录数
查看>>
自动化部署之jenkins发布PHP项目
查看>>
C/C++编程可用的Linux自带工具
查看>>
如何判断webview是不是滑到底部
查看>>