mybatis中的事务处理(commit)

mybatis单独使用时,使用SqlSession来处理事务,打开会话,事务处理开始,增删改操作时要执行commit操作,事物提交后,关闭会话,事物结束。

@Test
    public void insertUserTest() throws Exception {
        // 1、读取配置文件
        String resource = "SqlMapConfig.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        // 2、根据配置文件创建SqlSessionFactory
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder()
                .build(inputStream);
        // 3、SqlSessionFactory创建SqlSession
        //如果sqlsessionFactory.opensession(true)参数是布尔值,如果设置为true,就不需要commit提交事务了
        SqlSession sqlSession = sqlSessionFactory.openSession();//openSession打开会话,事务处理开始
        // 4、SqlSession执行statement,并返回映射结果
        //构建user参数,没有赋值的属性采取默认值
        User user = new User();
        user.setUsername("东哥1");
        user.setAddress("清河宝盛西里");

        // 第一个参数:statement的id,建议:namespace.statementId(确保唯一)
        // 第二个参数:入参的值,它的类型要和映射文件中对应的statement的入参类型一致
        sqlSession.insert("insertUser", user);

        //切记:增删改操作时,要执行commit操作
        sqlSession.commit();

        // 5、关闭SqlSession
        sqlSession.close();
    }

你可能感兴趣的:(mybatis)