mybatis-全局配置文件
SqlMapConfig.xml中配置的内容和顺序如下,顺序不能变,否则会报错。
- properties(属性)
- settings(全局配置参数)
- typeAliases(类型别名)
- typeHandlers(类型处理器)
- objectFactory(对象工厂)
- plugins(插件)
- environments(环境集合属性对象)
* environment(环境子属性对象)
* transactionManager(事务管理)
* dataSource(数据源)
- mappers(映射器)
properties
可以把一些通用的属性值配置在属性文件中,加载到mybatis运行环境。比如:创建db.properties配置数据库连接参数
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis
jdbc.username=root
jdbc.password=157326
然后将SqlMapConfig.xml改为
<!-- 属性定义 加载一个properties文件 也可以在 properties标签 中配置属性值 -->
<properties resource="db.properties">
<!-- <property name="" value=""/> -->
</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>
mybatis按照下面的顺序来加载属性
- 在properties元素体内定义的属性首先被读取。
- 然后会读取properties元素中resource或url加载的属性,它会覆盖已读取的同名属性。
- 最后读取parameterType传递的属性,它会覆盖已读取的同名属性。
建议使用properties时,不要在properties中定义属性,只引用定义的properties文件中属性,并且properties文件中定义的key要有一些特殊的规则,防止覆盖同名属性。
settings
配置一些mybatis运行时的参数。
typeAliases
可以将parameterType,resultType中指定的类型,通过别名引用。
mybaits本身提供了很多别名
_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:别名映射的类型 alias:别名 -->
<typeAlias type="cn.itcast.mybatis.po.User" alias="user"/>
</typeAliases>
<typeAliases>
<!-- 批量别名定义 指定包路径,自动扫描包下边的pojo,定义别名,别名默认为类名(首字母小写或大写)-->
<package name="cn.itcast.mybatis.po"/>
</typeAliases>
typeHandlers
类型处理器将java类型和jdbc类型进行映射。mybatis默认提供很多类型处理器,一般情况下够用了。
mappers
mappers,三种配置方法
<!--加载mapper映射 如果将和spring整合后,可以使用整合包中提供的mapper扫描器,此处的mappers不用配置了。-->
<mappers>
<!-- 通过resource引用mapper的映射文件 -->
<mapper resource="sqlmap/User.xml" />
</mappers>
<mappers>
<!-- 通过class引用mapper接口 class:配置mapper接口全限定名 要求:需要mapper.xml和mapper.java同名并且在一个目录 中 -->
<mapper class="cn.itcast.mybatis.mapper.UserMapper"/>
</mappers>
<mappers>
<!-- 批量mapper配置 通过package进行自动扫描包下边的mapper接口, 要求:需要mapper.xml和mapper.java同名并且在一个目录 中 -->
<package name="cn.itcast.mybatis.mapper"/>
</mappers>
“`
还没有评论,来说两句吧...