Mybatis配置文件&SQL映射文件
1.配置文件-mybatis-config.xml
1.1基本说明
mybatis的核心配置文件(mybatis-config.xml),它的作用如配置jdbc连接信息,注册mapper等,我们需要对这个配置文件有详细的了解。
配置文档的顶层结构如下:
1.2properties(属性)
属性可以在外部进行配置,并可以进行动态替换(使用${}
)。既可以在典型的 Java 属性文件中配置这些属性,也可以在 properties 元素的子元素中设置。
(1)直接在properties元素的子元素中配置
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis?
useSSL=true&useUnicode=true&characterEncoding=UTF-8"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
(2)在外部配置,进行动态替换
jdbc.properties 属性文件:
.properties 属性文件需要统一放在 resource 目录/类加载路径
# The key value is arbitrary
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=UTF-8
jdbc.user=root
jdbc.pwd=123456
mybatis 配置文件:
要先引入 .properties 文件
<configuration>
<!--引入外部的jdbc.properties-->
<properties resource="jdbc.properties"/>
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.user}"/>
<property name="password" value="${jdbc.pwd}"/>
</dataSource>
</configuration>
1.3settings(设置)
1.4typeAliases(别名处理器)
- 别名是Java命名一个短名称,它只和XML配置有关,用来减少类名重复的部分
- 如果指定了别名,我们的xxMapper.xml文件就可以做相应的简化处理
- 注意指定别名后,还是可以使用全名的
- 如果一个包下有很多的类,我们可以直接引入包,这样该包下面的所有类名都可以直接使用。
<typeAliases>
<!--如果一个包下有很多的类,可以直接使用包的方式引入,这样包下的所有类名都可以直接使用-->
<package name="com.li.entity"/>
</typeAliases>
1.5typeHandlers(类型处理器)
- 用于Java类型和jdbc类型映射
- Mybatis的映射基本已经满足,不太需要重新定义
- 这个我们默认即可,也就是mybatis会自动地将java和jdbc类型进行转换
- Java类型和jdbc类型映射关系一览 mybatis – MyBatis 3 | 配置
1.6environments(环境)
environments 元素定义了如何配置环境。
注意一些关键点:
- 默认使用的环境 ID(比如:default="development")。
- 每个 environment 元素定义的环境 ID(比如:id="development")。
- 事务管理器的配置(比如:type="JDBC")。
- 数据源的配置(比如:type="POOLED")。
默认环境和环境 ID 顾名思义。 环境可以随意命名,但务必保证默认的环境 ID 要匹配其中一个环境 ID。
<environments default="development">
<environment id="development">
<transactionManager type="JDBC">
<property name="..." value="..."/>
</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>
1.7mappers(映射器)
现在就要来定义 SQL 映射语句了。 首先,我们需要告诉 MyBatis 到哪里去找到这些语句。你可以使用相对于类路径的资源引用,或完全限定资源定位符(包括 fi