搭建MyBatis框架之优化功能(七)

SqlSession默认不自动提交事务,若需要自动提交事务

可以使用SqlSessionFactory.openSession(true)

dart 复制代码
package com.baidu.mybatis.test;
import com.baidu.mybatis.mapper.UserMapper;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
public class MyBatisTest {
    @Test
    public void testMyBatis() throws IOException {
//        加载核心配置文件
        InputStream ras = Resources.getResourceAsStream("mybatis-config.xml");
//        获取SqlSessionFactoryBuilder
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
//        获取sqlSessionFactory
        SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(ras);
//        获取SqlSession
        SqlSession sqlSession = sqlSessionFactory.openSession(true);
//        获取mapper接口对象
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
//        测试功能
        int result = mapper.insertUser();
        //        提交事务
//        sqlSession.commit();
        System.out.println("result = " + result);
    }
}

通过日志功能来监测sql

加入依赖

加入log4j的配置文件

日志的级别

fatal(致命) > error(错误) > warn(警告) > info(信息)> debug(调试)

从左到右打印的内容越来越详细

log4j.xml

dart 复制代码
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

    <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
        <param name="Encoding" value="UTF-8" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%-5p %d{MM-dd HH:mm:ss,SSS} %m (%F:%L) %n" />
        </layout>
    </appender>
    <logger name="java.sql">
        <level value="debug" />
    </logger>
    <logger name="org.apache.ibatis">
        <level value="info" />
    </logger>
    <root>
        <level value="debug" />
        <appender-ref ref="STDOUT" />
    </root>
</log4j:configuration>
相关推荐
写了20年代码的老程序员6 小时前
写了 20 年 Java,我受够了 MyBatis 的 4 个瞬间
mybatis·orm
斯特凡今天也很帅12 小时前
新建数据源报错No bean named ‘SqlSessionFactorykf‘ available
java·数据库·spring boot·mybatis
未若君雅裁1 天前
MyBatis 一级缓存、二级缓存与清理机制
java·缓存·mybatis
Simon523141 天前
MyBatis三大核心文件:Entity、DAO、Mapper
mybatis
MandalaO_O1 天前
MyBatis:核心概念 + 环境搭建 + CRUD
java·tomcat·mybatis
XS0301061 天前
MyBatis基础实战笔记一
笔记·mybatis
噢,我明白了1 天前
MyBatis-Plus的引入和配置
java·tomcat·mybatis
霸道流氓气质2 天前
Spring Boot + MyBatis-Plus 实现异常隔离的 Upsert 数据落库(含远程调用数据补全)
spring boot·后端·mybatis
Devin~Y2 天前
大厂Java面试实战:Spring Boot微服务、Redis缓存、Kafka消息队列与Spring AI RAG
java·spring boot·redis·kafka·mybatis·spring mvc·hikaricp
Don.TIk2 天前
ChapterOne-搭建项目骨架
java·spring·spring cloud·mybatis