SqlMapConfig.xml(名称可变)作为mybatis的全局配置文件,配置内容包括:数据库环境、mapper定义、全局参数设置。
properties(属性)
settings(全局配置参数)
typeAliases(类型别名)
typeHandlers(类型处理器)
objectFactory(对象工厂)
plugins(插件)
environments(环境集合属性对象)
environment(环境子属性对象)
transactionManager(事务管理)
dataSource(数据源)
mappers(映射器)
(1)properties
将数据库连接参数单独在一个properties文件中配置,好处是:方便系统升级维护。
db.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis
jdbc.username=root
jdbc.password=mysql
在全局配置文件中配置
<!-- 加载数据库连接参数配置文件 -->
<properties resource="db.properties" />
<!-- 全局配置参数 -->
<!-- settings></settings> -->
<!-- 和spring整合后 environments配置将废除 -->
<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>
注意:由于mapper.xml中也可以引用属性文件中的内容,所以建议属性文件中key定义要有一定的规则,建议使用 前缀.XXX=XXXXX
(2)settings(全局配置参数)
mybaits框架运行设置一些全局配置参数,比如:开启二级缓存 ,开启延迟载。。。
在ibatis中有一些设置性能参数(最大线程数、最大请求数。。),在mybatis中没有这些性能参数。
注意:设置全局参数会影响mybatis框架运行,谨慎设置。
(3)typeAliases(类型别名)
在parameterType和resultType设置时,为了方便编码,定义别名代替pojo的全路径。
框架默认支持别名
别名 映射的类型
_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
有定义单个别名也有批量定义别名
<!-- 定义别名 -->
<typeAliases>
<!-- 单个别名定义
type:pojo的路径
alias:别名的名称
-->
<!-- <typeAlias type="cn.itcast.mybatis.po.User" alias="user"/> -->
<!-- 批量别名定义
name:指定包名,将包下边的所有pojo定义别名 ,别名为类名(首字母大写或小写都行)
-->
<package name="cn.itcast.mybatis.po"/>
</typeAliases>
使用别名,在下面中返回值使用的是别名
<select id="findUserById" parameterType="int" resultType="user">
SELECT * FROM USER WHERE id = #{id}
</select>
(4)typeHandlers(类型处理器)
类型处理器用于java类型和jdbc类型映射:
Mybatis提供的类型处理器满足日常需要。
(5)mappers(映射器)重点掌握
<mapper resource=" " />
使用相对于类路径的资源
如:<mapper resource="sqlmap/user.xml" />
常用批量扫描方式。