SSH与SSM学习之hibernate07——Transaction
来源:互联网 发布:steam一直无法连接网络 编辑:程序博客网 时间:2024/06/05 10:18
- SSH与SSM学习之hibernate07Transaction
- 一Transaction
- 1 开启事务
- 2 提交事务
- 3 回滚事务
- 二提交事务实例
- 1 代码
- 2 结果
- 三回滚事务实例
- 1 代码
- 2 结果
- 一Transaction
SSH与SSM学习之hibernate07——Transaction
一、Transaction
Transaction 封装了事务的操作。
1.1 开启事务
开启事务有两种方式,推荐第二种
方式一
Transaction t = session.getTransaction();t.begin();
方式二
Transaction t = session.beginTransaction();
1.2 提交事务
t.commit();
1.3 回滚事务
t.rollback();
二、提交事务实例
2.1 代码
/** * 提交事务 */@Testpublic void commitDemo(){ // 1. 配置类型安全的准服务注册类,这是当前应用的单例对象,不作修改,所以声明为final final StandardServiceRegistry registry = new StandardServiceRegistryBuilder().configure("hibernate.cfg.xml").build(); // 2. 根据服务注册类创建一个元数据资源集,同时构建元数据并生成应用一般唯一的的session工厂 SessionFactory factory = new MetadataSources(registry).buildMetadata().buildSessionFactory(); //3 获取session Session session = factory.openSession(); //4 开启事务 Transaction t = session.beginTransaction(); //--------------------增加数据-------------------- User user = new User("qwm_commit",10); //5 保存数据 session.save(user); //或者使用 session.persist(user); //---------------------------------------- //6 提交事务 t.commit(); //7 关闭session session.close();}
2.2 结果
三、回滚事务实例
2.1 代码
/** * 回滚事务 */@Testpublic void rollbackDemo(){ // 1. 配置类型安全的准服务注册类,这是当前应用的单例对象,不作修改,所以声明为final final StandardServiceRegistry registry = new StandardServiceRegistryBuilder().configure("hibernate.cfg.xml").build(); // 2. 根据服务注册类创建一个元数据资源集,同时构建元数据并生成应用一般唯一的的session工厂 SessionFactory factory = new MetadataSources(registry).buildMetadata().buildSessionFactory(); //3 获取session Session session = factory.openSession(); //4 开启事务 Transaction t = session.beginTransaction(); //--------------------增加数据-------------------- User user = new User("qwm_rollback",10); //5 保存数据 session.save(user); //或者使用 session.persist(user); //---------------------------------------- //6 回滚事务 t.rollback(); //7 关闭session session.close();}
2.2 结果
阅读全文
0 0
- SSH与SSM学习之hibernate07——Transaction
- SSH与SSM学习之hibernate04——Configuration
- SSH与SSM学习之hibernate05——SessionFactory
- SSH与SSM学习之hibernate06——Session
- SSH与SSM学习之hibernate13——HQL查询
- SSH与SSM学习之hibernate14——Criteria查询
- SSH与SSM学习之hibernate21——离线查询
- SSH与SSM学习之hibernate25——批量抓取
- SSH与SSM学习之Struts206——参数获取
- SSH与SSM学习之Struts211——拦截器
- SSH与SSM学习之Struts212——标签
- SSH与SSM学习之Spring15——cglib代理
- SSH与SSM学习之SSH整合01——SSH整合原理和导包
- SSH与SSM学习之SSH整合04——Struts2与Spring整合
- SSH与SSM学习之SSH整合06——Hibernate与Spring整合
- SSH与SSM学习之SSH整合02——单独配置Spring容器
- SSH与SSM学习之SSH整合03——单独配置Struts2
- SSH与SSM学习之SSH整合05——单独配置Hibernate
- 《C++ Concurrency in Action》笔记8 死锁(2)避免死锁
- Java中多层继承中的方法重写
- Fuchsia OS中的RPC机制-FIDL
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B. Coin(矩阵快速幂)
- 详解一个自己原创的正则匹配IP的表达式
- SSH与SSM学习之hibernate07——Transaction
- Mybatis 缓存
- IO-NIO-NIO2
- 1003. 射击游戏2(出栈次序问题)
- BZOJ 3065: 带插入区间K小值 替罪羊树套权值线段树 详解
- day02-html进阶
- hexo访客统计
- JavaScript中的函数调用
- C++ void*指针、多重指针void**和指针大小