概图
mybatis-config.xml文件的基本配置如下
注意:以下配置顺序不能颠倒,否则出错
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<properties /> <!--属性 -->
<settings /> <!--设置 -->
<typeAliases /> <!--类型别名 -->
<typeHandlers /> <!--类型处理 -->
<objectFactory /> <!--对象工厂 -->
<plugins /> <!--插件 -->
<environments> <!--总环境 -->
<environment /> <!--环境 -->
<transactionManager /> <!--事务管理 -->
<dataSource /> <!--数据源 -->
</environment>
</environments>
<databaseIdProvider /> <!--数据库提供商 -->
<mappers /> <!--映射器 -->
</configuration>
properties属性
1.创建一个jdbc.properties文件放到classpath的路径下(src)
database.driver=com.mysql.jdbc.Driver
database.url=jdbc:mysql://localhost:3306/chapter4
database.username=root
database.password=123456
2.然后将其配置到基本配置文件mybatis-config-.xml中
<properties resource="jdbc.properties" />
3.调用属性文件的属性应该用${ }
<dataSource type="POOLED">
<property name="driver" value="${database.driver}" />
<property name="url" value="${database.url}" />
<property name="username" value="${database.username}" />
<property name="password" value="${database.password}" />
</dataSource>
typeAliases属性
作用:给全限定类名起个名字,主要用在resultType="别名"这里。
在配置文件mybatis-config.xml中有两方式
- 给某个类起别名,但如果一个包里很多类就很麻烦,所以就有了第二种方式
<typeAliases><!-- 别名 -->
<typeAlias alias="role" type="com.learn.ssm.chapter4.pojo.Role"/>
type="com.learn.ssm.chapter4.pojo.User"/>
</typeAliases>
- 将包下的所有类名的第一个字母变为小写作为其别名,如Role的别名为role。
- 但这样会引起重名,比如两个Role.java文件都在这个包下(在同一个包不在同一个目录),这是就可以在类名上用注解@Alias()区分了
<typeAliases><!-- 别名 -->
<package name="com.learn.ssm.chapter4.pojo" />
</typeAliases>
@Alias(role2)
pubilc class Role{
.....
}
settings属性
大部分情况使用默认值便可以运行,我们只需了解一些常用的再根据情况修改
cacheEnabled 配置缓存开关,默认值为true
lazyLoadingEnable 配置级联开关 默认false
agressiveLazyLoading 配置层级开关 默认false