Mybatis配置

Mybatis的属性分析

1、mybatis有哪些属性?

configuration(配置)

这是所有的mybatis属性! 作用于Mybatis的核心配置类

2、configuration(配置):

<?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>
   
   <environments default="mysql">
       <environment id="mysql">
           <transactionManager type="JDBC"></transactionManager>
           <dataSource type="POOLED">
               <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
               <property name="url" value="jdbc:mysql://localhost:3306/bjpowernode?serverTimezone=GMT&amp;useSSL=false"/>
               <property name="username" value="root"/>
               <property name="password" value="root"/>
           </dataSource>
       </environment>
   </environments>
   <mappers>
       <mapper class="com.zhang.mapper.EmpMapper"/>
   </mappers>
</configuration>

这就是一个简单的核心配置类:

environments: 表示环境,配置类中可以定义多套环境,而 default 表示你默认选中的环境,可以切换

transactionManager: 事务模式

dataSource: 数据源,也就是数据源连接方式

mapper: mapper.xml的映射绑定

properties属性:

这个属性简单的来讲就是一个引入外部配置文件的属性,当然你也可以在这里面进行属性的配置

  • 在使用前要先创建一个properties配置文件

driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/bjpowernode?serverTimezone=GMT&useSSL=false
username=root
password=root
  • 然后使用Properties引入资源

  <properties resource="db.properties"/>

然后就可以用${}这种方式取对应的值了

settings(设置):

这是 MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的运行时行为。 下表描述了设置中各项设置的含义、默认值等。

常用的Setting属性有:日志功能

logImpl 指定 MyBatis 所用日志的具体实现,未指定时将自动查找。 SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING                                                      | STDOUT_LOGGING | NO_LOGGING
  • 如何使用?

直接在配置文件中开启日志功能即可

  <settings>
       <setting name="logImpl" value="STDOUT_LOGGING"/>
   </settings>

我们可以看一下日志开启后的运行结果:

Mybatis配置

 

 

这就是简单的日志功能,当然还有更好一点的Log4J日志

Log4J 怎么使用呢?

  • 导入对于的Maven坐标

        <!-- https://mvnrepository.com/artifact/log4j/log4j -->
       <dependency>
           <groupId>log4j</groupId>
           <artifactId>log4j</artifactId>
           <version>1.2.17</version>
       </dependency>
  • 开启对应的设置

 <settings>
       <setting name="logImpl" value="LOG4J"/>
</settings>
  • 配置Log4J:

这里可以参考:https://www.cnblogs.com/xuxinstyle/p/10766405.html

#将等级为DEBUG的日志信息输出到console和file这两个目的地,console和file的定义在下面的代码
log4j.rootLogger=DEBUG,console,file

#控制台输出的相关设置
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
log4j.appender.console.Threshold=DEBUG
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%c]-%m%n

#文件输出的相关设置
log4j.appender.file = org.apache.log4j.RollingFileAppender
log4j.appender.file.File=./log/zhang.log
log4j.appender.file.MaxFileSize=10mb
log4j.appender.file.Threshold=DEBUG
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%p] [%d{yy-MM-dd}] [%c]%m%n

#日志输出级别
log4j.logger.org.mybatis=DEBUG
log4j.logger.java.sql=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

我这里使用的是狂神大佬的,可以推荐去看看 真的是很流弊的大佬:

https://www.bilibili.com/video/BV1NE411Q7Nx?from=search&seid=8691256599494985946

  • 运行查看

Mybatis配置

 

 

typeAliases(类型别名)

类型别名可为 Java 类型设置一个缩写名字。 它仅用于 XML 配置,意在降低冗余的全限定类名书写。

推荐去官网看一下:https://mybatis.org/mybatis-3/zh/configuration.html#typeAliases

 

映射器(mappers)

既然 MyBatis 的行为已经由上述元素配置完了,我们现在就要来定义 SQL 映射语句了。

但首先,我们需要告诉 MyBatis 到哪里去找到这些语句。

在自动查找资源方面,Java 并没有提供一个很好的解决方案,所以最好的办法是直接告诉 MyBatis 到哪里去找映射文件

<!-- 使用相对于类路径的资源引用 -->
<mappers>
        <mapper resource="com/zhang/mapper/EmpMapper.xml"/>
    </mappers>

<!-- 使用映射器接口实现类的完全限定类名 -->
  <mappers>
        <mapper class="com.zhang.mapper.EmpMapper"/>
    </mappers>
<!-- 将包内的映射器接口实现全部注册为映射器 -->
  <mappers>
        <package name="com.zhang.mapper"/>
    </mappers>

注意

使用接口,和包的时候要注意 一定要保证Mapper接口和 Mapper.xml 在同一个包下,并且名字相同。

上一篇:java log4i.properties


下一篇:日志Log4j使用