日志框架log4j2 集成到mybatis工程

236 阅读2分钟

日志框架log4j2 集成到mybatis工程

本次我们的目标是通过java语句对数据库进行操作

1.导入maven配置文件

image.png

这个依赖是 Apache Log4j 的核心库,用于 Java 应用程序的日志记录。它提供了灵活的日志记录功能,允许你记录不同级别的信息(如调试、信息、警告、错误等),并支持将日志输出到多种目标(如控制台、文件、网络等)。通过配置,你可以定制日志的格式、输出位置和日志级别,帮助你更好地监控和调试应用程序。

2.配置log4j2的配置文件

image.png

image.png

3.mybatis-config.xml配置文件中添加日志配置信息

  1. 日志实现logImpl 属性告诉 MyBatis 使用 Log4j2 来处理日志记录。这意味着 MyBatis 将通过 Log4j2 输出日志信息。
  2. 日志功能:通过使用 Log4j2,您可以利用其强大的功能,如异步日志、灵活的日志级别和多种输出格式,来记录 MyBatis 的操作和SQL语句。
  3. 一致性:确保 MyBatis 的日志记录与应用程序的其他部分一致,方便统一管理和分析日志信息。

image.png

测试程序

image.png

image.png

补充写明测试程序所带的@Before @Test @After三个方法

package com.xyu;
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.After;
import org.junit.Before;
import org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertEquals;
import com.xyu.mapper.PoemMapper;
public class  Junit_try {
    SqlSession sqlSession = null;
    InputStream inputStream = null;
    SqlSessionFactory sqlSessionFactory = null;
    PoemMapper mapper = null;
    @Before
    public void init() {
        System.out.println("init");
        try {
            //获取输入流
            inputStream=Resources.getResourceAsStream("mybatis-config.xml");
            //创建了一个命令工厂
            SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
            //build 方法会读取这个配置文件中的设置和映射信息
            sqlSessionFactory=sqlSessionFactoryBuilder.build(inputStream);
            //SqlSession 是执行 SQL 操作的主要接口,提供了 CRUD 方法以及事务管理功能。
            //Mapper 是 MyBatis 中用于定义数据库操作的接口,MyBatis 会自动实现这些接口,使得你可以通过调用方法来执行对应的 SQL 语句。
            sqlSession = sqlSessionFactory.openSession();
            mapper = sqlSession.getMapper(PoemMapper.class);
        } catch(IOException e) {
            throw new RuntimeException(e);
        }
    }
    @Test
    public void testFirst() {
        System.out.println("testFirst");
        Poem poem = mapper.queryPoemById(27L);
        System.out.println(poem);

    }
    @After
    public void after() {
        System.out.println("after");
        try{
            if (sqlSession!=null){
                sqlSession.close();
            }
            if (inputStream!=null){
                inputStream.close();
            }
        }catch (Exception e){
            throw new RuntimeException(e);
        }
    }
}

工厂的工厂创建了一个工厂,工厂又通过传入的信息创建了一个机器,机器有打开了一个端口,端口中又获取了一些命令。

数据库和Java的其它操作

添加接口

首先在poem中配置自己需要的函数

image.png

其次在main函数中调用这些函数

image.png

最后在接口中进行设置

image.png

最后的最后配置.xml的文件

image.png

最后运行的结果是

image.png