天天看點

030_Mybatis日志和分頁

目錄

  • 日志工廠
  • 标準日志工廠實作 STDOUT_LOGGING
    • mybatis-config.xml配置
    • 效果
  • LOG4J
    • pom.xml添加依賴
    • 添加log4g.properties
    • 測試
    • 簡單使用
      • 導包 **import **org.apache.log4j.Logger;
      • 建立對象 static Logger _logger _= Logger.getLogger(UserMapperTest.class);
  • limit分頁
  • 分頁插件pagehelper

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">

<!--核心配置檔案-->
<configuration>
    <!--引入外部配置檔案-->
    <properties resource="db.properties"/>

    <settings>
        <!--标準日志工廠配置-->
        <setting name="logImpl" value="STDOUT_LOGGING"/>
    </settings>

    <!--别名-->
    <typeAliases>
        <package name="com.qing.pojo"/>
    </typeAliases>

    <!--指定預設資料源-->
    <environments default="development">
        <!--資料源-->
        <environment id="development">
            <!--事務管理器-->
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="com/qing/dao/UserMapper.xml"/>
    </mappers>
</configuration>
           

Log4j是Apache的一個開源項目,通過使用Log4j,我們可以控制日志資訊輸送的目的地是控制台、檔案、GUI元件,甚至是套接口伺服器、NT的事件記錄器、UNIX Syslog守護程序等;我們也可以控制每一條日志的輸出格式;通過定義每一條日志資訊的級别,我們能夠更加細緻地控制日志的生成過程。最令人感興趣的就是,這些可以通過一個配置檔案來靈活地進行配置,而不需要修改應用的代碼。

<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>
           

#############
# 輸出到控制台
#############

# log4j.rootLogger日志輸出類别和級别:隻輸出不低于該級别的日志資訊DEBUG < INFO < WARN < ERROR < FATAL
# DEBUG:日志級别     CONSOLE:輸出位置自己定義的一個名字       logfile:輸出位置自己定義的一個名字
log4j.rootLogger=DEBUG,CONSOLE,logfile
# 配置CONSOLE輸出到控制台
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender 
# 配置CONSOLE設定為自定義布局模式
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout 
# 配置CONSOLE日志的輸出格式  [frame] 2019-08-22 22:52:12,000  %r耗費毫秒數 %p日志的優先級 %t線程名 %C所屬類名通常為全類名 %L代碼中的行号 %x線程相關聯的NDC %m日志 %n換行
log4j.appender.CONSOLE.layout.ConversionPattern=[frame] %d{yyyy-MM-dd HH:mm:ss,SSS} - %-4r %-5p [%t] %C:%L %x - %m%n

################
# 輸出到日志檔案中
################

# 配置logfile輸出到檔案中 檔案大小到達指定尺寸的時候産生新的日志檔案
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
# 儲存編碼格式
log4j.appender.logfile.Encoding=UTF-8
# 輸出檔案位置此為項目根目錄下的logs檔案夾中
log4j.appender.logfile.File=logs/root.log
# 字尾可以是KB,MB,GB達到該大小後建立新的日志檔案
log4j.appender.logfile.MaxFileSize=10MB
# 設定滾定檔案的最大值3 指可以産生root.log.1、root.log.2、root.log.3和root.log四個日志檔案
log4j.appender.logfile.MaxBackupIndex=3  
# 配置logfile為自定義布局模式
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %F %p %m%n
           

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">

<!--核心配置檔案-->
<configuration>
    <!--引入外部配置檔案-->
    <properties resource="db.properties"/>

    <settings>
        <!--LOG4J-->
        <setting name="logImpl" value="LOG4J"/>
    </settings>

    <!--别名-->
    <typeAliases>
        <package name="com.qing.pojo"/>
    </typeAliases>

    <!--指定預設資料源-->
    <environments default="development">
        <!--資料源-->
        <environment id="development">
            <!--事務管理器-->
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="com/qing/dao/UserMapper.xml"/>
    </mappers>
</configuration>
           

package com.qing.dao;

import com.qing.pojo.User;
import com.qing.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.apache.log4j.Logger;
import org.junit.Test;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class UserMapperTest {

    static Logger logger = Logger.getLogger(UserMapperTest.class);

    @Test
    public void testLogger() {
        logger.debug("列印DEBUG日志");
        logger.info("列印INFO日志");
    }
}

           

官網:https://pagehelper.github.io/