mybatis logback日志输出

插件 logback日志插件; HikariCP连接池插件
CartMapper类

package ws.wsj.mapper;

import org.apache.ibatis.annotations.Select;

public interface CartMapper {
    @Select("select version()")
    public String version();
}

CartMapper测试类

package ws;

import com.zaxxer.hikari.HikariDataSource;
import org.apache.ibatis.mapping.Environment;
import org.apache.ibatis.session.Configuration;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.apache.ibatis.transaction.TransactionFactory;
import org.apache.ibatis.transaction.jdbc.JdbcTransactionFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ws.wsj.mapper.CartMapper;

public class Demo {

    public final static Logger logger = LoggerFactory.getLogger(Demo.class);

    public static void main(String[] args) {
        //建立数据源
        var ds = new HikariDataSource();
        ds.setJdbcUrl("jdbc:mysql:/d3");
        ds.setUsername("root");

        //建立事务对象 Jdbc事务工厂 JdbcTransactionFactory()
        TransactionFactory tx = new JdbcTransactionFactory();

        //建立环境对象
        Environment env = new Environment("development", tx, ds);

        //建立配置对象,相当于mybatis-config.xml文件
        Configuration cfg = new Configuration(env);
        //添加映射器 addMappers
        cfg.addMappers("ws.wsj.mapper");

        // Sql会话工厂 SqlSessionFactory
        SqlSessionFactory sf = new SqlSessionFactoryBuilder().build(cfg);
        SqlSession ss = sf.openSession(true);

        //获取映射器 getMapper
        CartMapper cart = ss.getMapper(CartMapper.class);
        //System.out.println(cart.version());
        logger.info(cart.version());
    }
}

logback日志,映射文件

<?xml version="1.0"?>
<configuration>
    <!-- ch.qos.logback.core.ConsoleAppender 控制台输出 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>[%-5level] %L %d{HH:mm:ss} [%thread] %L %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>
    <!-- 日志级别 all info off  -->
    <root>
        <level value="off"/>
        <appender-ref ref="STDOUT"/>
    </root>
    <logger name="ws" level="DEBUG"/>
    <logger name="ws.MyDemo" level="info"/>
</configuration>

logback日志 测试类

package ws;

import lombok.extern.slf4j.Slf4j;
import org.junit.Test;

@Slf4j
public class MyDemo {
    //Logger log = LoggerFactory.getLogger(MyDemo.class);

    @Test
    public void t1() {
        log.info("hello world");
    }
}

pom.xml 处理无法src/main/java加载资源配置文件

<build>
        <finalName>${project.artifactId}</finalName>
        <testSourceDirectory>src/test/java</testSourceDirectory>
        <sourceDirectory>src/main/java</sourceDirectory>
        <!-- 处理无法src/main/java加载资源配置文件 -->
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                    <include>**/*.properties</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.xml</include>
                    <include>**/*.properties</include>
                </includes>
            </resource>
        </resources>
    </build>

版权声明:本文为W_SJ_SY原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。