<?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>
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/db_mybatis"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</properties>
<!--配置环境-->
<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>
<typeAliases>
<typeAlias type="com.minifull.pojo.User" alias="user"/>
</typeAliases>
<!-- 指定映射文件 -->
<mappers>
<mapper resource="UserMapper.xml"/>
</mappers>
</configuration>
1. properties属性
- 使用 resources 属性引入外部配置文件(常用)
- 采用全局的内部配置
- 使用 url 属性引入外部配置文件
使用 resources 属性引入外部配置文件(常用)
jdbcConfig.properties,配置文件名没有限制,但是配置文件一定要放在类路径下
# 键为 jdbc.xxx 可以自行修改
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/db_mybatis
jdbc.username=root
jdbc.password=123456
修改 Mybatis 配置文件
<!-- 引入外部文件 -->
<properties resource="jdbcConfig.properties"/>
<!--配置环境-->
<environments default="development">
<environment id="development">
<!-- 配置事务类型 -->
<transactionManager type="JDBC"/>
<!-- 配置数据源(连接池) -->
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
采用全局的内部配置
<properties>
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/db_mybatis"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</properties>
使用 url 属性引入外部配置文件
该方法的外部文件可以放在任意位置,但是路径写法必须按照 Url 的方式,这里使用的file协议
<!-- 引入外部文件 -->
<properties url="file:///D:/document/IdeaProjects/java_web_ssm/my_mybatis/src/main/resources/jdbcConfig.properties"/>
-
URL:Uniform Resouce LOcator,即统一资源定位符。它可以唯一标识一个资源的位置,由四部分组成:协议、主机、端口、路径
- 例如:http://localhost:8080/mybatisserver/demo1,其中 http 为协议, localhost 为主机,8080 为端口号,/mybatisserver/demo1 为uri(路径)
-
URI:Uniform Resource Identifier,即统一资源标识符。它是在应用中可以唯一定位一个资源的
2. typeAliases
标签
给某个实体类指定别名的时候,就可以采用 typeAliases
标签,使用了别名就不区分大小写
<configuration>
<!--配置别名-->
<typeAliases>
<typeAlias type="com.minifull.pojo.User" alias="user"/>
</typeAliases>
<!-- 其他配置省略... -->
</configuration>
- typeAlias 子标签用于配置别名。其中 type 属性用于指定要配置的类的全限定类名(该类只能是某个domain实体类), alias 属性指定别名。一旦指定了别名,那么别名就不再区分大小写
- 也就是说,此时我们可以在映射文件中这样写 resultType=“user” ,也可以写 resultType=“USER”
3. package
能在两个地方使用
① 当我们有多个实体类需要起别名的时候,那么我们就可以使用 package
标签
package 标签指定要配置别名的包,当指定之后,该包下的所有实体类都会注册别名,并且别名就是类名,不再区分大小写
<typeAliases>
<!-- 包下所有实体类起别名 -->
<package name="com.minifull.pojo"/>
</typeAliases>
package
标签还可以将某个包内的映射器接口实现全部注册为映射器
这样配置后,我们就无需一个一个地配置 Mapper 接口了。不过,这种配置方式的前提是映射配置文件位置必须和dao接口的包结构相同
<!-- 指定映射文件 -->
<mappers>
<package name="com.minifull.mapper"/>
</mappers>