SSH与SSM学习之hibernate07——Transaction

来源:互联网 发布:steam一直无法连接网络 编辑:程序博客网 时间:2024/06/05 10:18

  • SSH与SSM学习之hibernate07Transaction
    • 一Transaction
      • 1 开启事务
      • 2 提交事务
      • 3 回滚事务
    • 二提交事务实例
      • 1 代码
      • 2 结果
    • 三回滚事务实例
      • 1 代码
      • 2 结果

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 结果

image


三、回滚事务实例

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 结果

image


原创粉丝点击