知识点-核心配置文件详解
我的目录结构:
1.目标
- 掌握SqlMapConfig.xml配置文件
2.路径
- 核心配置文件里面的标签的顺序
- properties
- typeAliases
- Mapper
3.讲解
[这里我把mybatis的核心配置文件命名为SqlMapConfig.xml]
3.1.核心配置文件的顺序
properties(引入外部properties文件)
settings(全局配置参数)
typeAliases(类型别名)
typeHandlers(类型处理器)
objectFactory(对象工厂)
plugins(插件)
environments(环境集合属性对象)
environment(环境子属性对象)
transactionManager(事务管理)
dataSource(数据源)
mappers(映射器)
3.2.properties
- jdbc.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8
jdbc.user=root
jdbc.password=123
- 引入到核心配置文件
<configuration>
<properties resource="jdbc.properties">
</properties>
<!--数据源配置-->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="UNPOOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.user}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
....
</configuration>
3.3.typeAliases(类型别名)
3.3.1定义单个别名
- 核心配置文件
<typeAliases>
<typeAlias type="com.DJL.bean.User" alias="user"></typeAlias>
</typeAliases>
- 修改UserDao.xml
<select id="findAll" resultType="user">
SELECT * FROM user
</select>
3.3.2批量定义别名
使用package定义的别名:就是pojo的类名,大小写都可以
- 核心配置文件
<typeAliases>
<package name="com.DJL.bean"/>
</typeAliases>
- 修改UserDao.xml
<select id="findAll" resultType="user">
SELECT * FROM user
</select>
3.4.Mapper
3.4.1方式一:引入映射文件路径
<mappers>
<mapper resource="com/DJL/dao/UserDao.xml"/>
</mappers>
注意: 这里以斜杠作为分隔符的原因是在resources目录下只能以文件夹的形式创建com/DJL/dao/UserDao.xml
3.4.2方式二:扫描接口
- 配置单个接口
<mappers>
<mapper class="com.DJL.dao.UserDao"></mapper>
</mappers>
- 批量配置
<mappers>
<package name="com.DJL.dao"></package>
</mappers>
4.小结
- 核心配置文件的顺序
- properties 引入properties文件的
- 创建properties文件
- 使用
<properties resource="文件的路径"/>
- 使用 ${key}
- typeAliases(类型别名) 在Dao映射文件里面 直接写类(pojo)的名字, 不需要写类全限定名了
<typeAliases>
<package name="com.DJL.bean"/>
</typeAliases>
- Mapper 引入Dao映射文件的
<mappers>
<package name="com.DJL.dao"></package>
</mappers>