一、SqlMapConfig.xml中的内容
- properties(属性):加载外部属性文件(jdbc.properties)
- settings(全局配置参数)
- typeAliases(类型别名)
- typeHandlers(类型处理器)
- objectFactory(对象工厂)
- plugins(插件)
- environments(环境集合属性对象)
- environment(环境子属性对象)
- transactionManager(事务管理)
- dataSource(数据)
- environment(环境子属性对象)
- mappers(映射器)
二、properties属性(引入外部属性文件)
2.1 如果外部配置文件和内部定义属性冲突,使用外部属性文件中的配置信息
<?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>
<!-- resource:加载外部配置文件 -->
<properties resource="jdbc.properties">
<!-- 如果外部配置文件有该属性,则内部定义属性被外部属性覆盖 -->
<property name="jdbc.username" value="root123" />
<property name="jdbc.password" value="root123" />
</properties>
<!-- 和spring整合后 environments配置将废除 -->
<environments default="development">
<environment id="development">
<!-- 使用jdbc事务管理 -->
<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>
<!-- 加载映射文件 -->
<mappers>
<mapper resource="mapper/User.xml" />
<mapper resource="mapper/UserMapper.xml" />
</mappers>
</configuration>
三、typeAliases(起别名)
3.1 mybatis支持别名
别名 | 映射的类型 |
_byte | byte |
_long | long |
_short | short |
_int | int |
_integer | int |
_double | double |
_float | float |
_boolean | boolean |
string | String |
byte | Byte |
long | Long |
short | Short |
int | Integer |
integer | Integer |
double | Double |
float | Float |
boolean | Boolean |
date | Date |
decimal | BigDecimal |
bigdecimal | BigDecimal |
map | Map |
3.2 单个起别名
<typeAlias alias="user" type="com.itheima.pojo.User" />
3.3 批量起别名
批量别名定义,扫描整个包下的类,别名为类名(大小写不敏感)
<package name="com.itheima.pojo" />
<?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>
<!-- resource:加载外部配置文件 -->
<properties resource="jdbc.properties">
<!-- 如果外部配置文件有该属性,则内部定义属性被外部属性覆盖 -->
<property name="jdbc.username" value="root123" />
<property name="jdbc.password" value="root123" />
</properties>
<typeAliases>
<!-- 单个别名定义 -->
<!-- <typeAlias alias="user" type="com.itheima.pojo.User" /> -->
<!-- 批量别名定义,扫描整个包下的类,别名为类名(大小写不敏感) -->
<package name="com.itheima.pojo" />
</typeAliases>
<!-- 和spring整合后 environments配置将废除 -->
<environments default="development">
<environment id="development">
<!-- 使用jdbc事务管理 -->
<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>
<!-- 加载映射文件 -->
<mappers>
<mapper resource="mapper/User.xml" />
<mapper resource="mapper/UserMapper.xml" />
</mappers>
</configuration>
起别名之后,可以直接写别名
四、mappers(引入映射文件)
4.1 单个引入
4.1.1 使用XML文件引入
<mapper resource="mapper/User.xml" />
4.1.2 使用mapper接口类路径引入
前提要求:
mapper接口名称和mapper映射文件名称相同
mapper接口名称和mapper映射文件放在同一个目录中
<mapper class="cn.itcast.mybatis.mapper.UserMapper"/>
4.2 批量引入
前提要求:
mapper接口名称和mapper映射文件名称相同
mapper接口名称和mapper映射文件放在同一个目录中
注册指定包下的所有mapper接口
<package name="com.itheima.mapper"/>
<?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>
<!-- resource:加载外部配置文件 -->
<properties resource="jdbc.properties">
<!-- 如果外部配置文件有该属性,则内部定义属性被外部属性覆盖 -->
<property name="jdbc.username" value="root123" />
<property name="jdbc.password" value="root123" />
</properties>
<typeAliases>
<!-- 单个别名定义 -->
<!-- <typeAlias alias="user" type="com.itheima.pojo.User" /> -->
<!-- 批量别名定义,扫描整个包下的类,别名为类名(大小写不敏感) -->
<package name="com.itheima.pojo" />
</typeAliases>
<!-- 和spring整合后 environments配置将废除 -->
<environments default="development">
<environment id="development">
<!-- 使用jdbc事务管理 -->
<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>
<!-- 加载映射文件 -->
<mappers>
<package name="com.itheima.mapper"/>
</mappers>
</configuration>