Mybatis别名、属性文件、日志功能

36 阅读1分钟

别名

设置别名: Mybatis提供了别名机制可以对某个类起别名或者给某个包下所有类起名,简化resultType取值的写法。 在核心配置文件mybatis.xml中,通过<typeAlias>标签明确设置类型的别名。(注意位置,放在enviroments前)

  • type:类型全限定路径
  • alias:别名设置
<typeAliases>
    <typeAlias type="com.msb.pojo.People" alias="p"></typeAlias>
</typeAliases>

当类的个数较多时,明确指定别名工作量较大,可以通过<package>标签指定包下全部类的别名。指定后所有类的别名就是类名。(不区分大小写)

<typeAliases>
    <package name="com.msb.pojo"/>
</typeAliases>

PS:明确指定别名和指定包的方式可以同时存在

uTools_1691121249278.png

内置别名: mybatis内置了一些常见的别名,这些别名不需要配置。

微信截图_20230804131645.png

属性文件【解耦】

将核心文件中关于数据库连接的配置信息提取出来写入src/main/resouces/db.properties中

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/msb?useSSL=false
username=root
password=123456
// 扫描properties的信息
<properties resource="db.properties"></properties>

<environments default="mysql">
    <environment id="mysql">
        <transactionManager type="JDBC"></transactionManager>
        <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>

启动日志文件

添加log4j依赖

<!-- log4j的依赖 -->
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>

mybatis启动日志功能【创建log4j.properties】

# log4j中定义的级别:fatal(致命错误) > error(错误) > warn(警告) > info(普通信息) > debug(调试信息) > trace(跟踪信息)
# 将trace以上的信息打印出来
log4j.rootLogger = DEBUGF , console

### console ###
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern = [%p] [%-d{yyyy-MM-dd HH:mm:ss}] %C.%M(%L) | %m%n

如果只想看sql执行过程,那么可以整体调高,局部降低:将整个日志文件级别调为ERROR,然后mapper.xml涉及的内容级别降低为TRACE。这样整体的多余信息不会输出,然后mapper.xml中的设计内容会详细打印,log4j.properties加入:

#logjam。logger是固定的,a.b是命名空间的名字
log4j.logger.a.b=TRACE

uTools_1691149661236.png