纯css打造立体时钟
  • 12
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
By_jie

dljd_027_增改删在同一个事务中的默认执行顺序

一、测试增删改在同一个事务中的默认执行顺序示例

package edu.aeon.test;


import org.hibernate.Session;
import org.hibernate.Transaction;

import edu.aeon.aeonutils.GetSessionUtil;
import edu.aeon.beans.Student;
/**
 * [说明]:测试增删改在同一事务环境下的默认执行顺序
 * 测试结果:默认执行顺序为:增加C、更新(U)、删除(D)
 * @author aeon
 *
 */
public class TestCRUD {
    public static void testCUD(/*Student student*/){
        Transaction transaction=null;
        try {
            Session session = GetSessionUtil.getSession();
            transaction = session.getTransaction();
            /**开启事务*/
            transaction.begin();
            /**一、执行删除操作(将stuid为1的学生删除)*/
            Student student1 =session.get(Student.class,1);
            session.delete(student1);
            /**二、执行更新操作(将stuid为2的用户的姓名改为:aeon)*/
            Student student2=session.get(Student.class, 2);
            student2.setStuName("aeon");
            session.update(student2);
            /**三、执行插入操作(插入一条用户名为:tuling、年龄为:30)*/
            Student student3=new Student("tuling",30);
            session.save(student3);
            transaction.commit();
            System.out.println("操作成功!");
        } catch (Exception e) {
            e.printStackTrace();
            transaction.rollback();
            System.out.println("操作失败!");
        }
    }
    public static void main(String[] args) {
        testCUD();
    }
}

 

首先在执行之前我们看一下数据库中的数据截图:

  

执行结果截图:

  

我们再来看下数据库执行前后的结果对比:

  

测试结果:

  如果增删改在同一个事务中,那么其默认执行顺序为增C改U删D!

二、我们知道默认的一般我们可以人为去修改、那么怎么修改呢?(session.flush())

  修改方式是用session.flush()、这里需注意以session.flush()为分界线其前面的操作也按照默认执行顺序走!

 

posted @ 2018-12-10 20:57  1024军团  阅读(1231)  评论(0编辑  收藏  举报