学习一个框架,最难理解的莫过于他的配置文件了。框架里面好多东西都是固定的,不需要我们记忆,也可能我们都不理解。很多东西,我们只是会用而不知其意,会写而不解起因。今天我们就来学习一下Mybatis的全局配置文件——SqlMapConfig.xml。
这是一个空的SqlMapConfig.xml,我已经添加了约束。
<?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>
</configuration>
下面 我们来看一下SqlMapConfig.xml里面的元素名称。
1.properties属性
我们一般使用properties来获取数据库连接信息。在开发时,为了好维护,我们一般把数据库连接参数单独配置在一个db.properties文件中,
db.properties文件代码如下:
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis
jdbc.username=****
jdbc.password=****
然后再SqlMapConfig.xml中直接加载即可。
<properties resource="db.properties"></properties>
2.settings全局参数配置
在settings元素体内,我们可以进行一些全局的配置。比如,开启二级缓存,启用禁用延迟加载等。
比如:
<settings>
<!-- 启用延迟加载 -->
<setting name="lazyLoadingEnabled" value="true"/>
<!-- 启用延迟加载后,加载时按需要加载 -->
<setting name="aggressiveLazyLoading" value="false"/>
<!-- 开启二级缓存 -->
<setting name="cacheEnabled" value="true"/>
</settings>
这么多,很多都不常用,大家了解就好。
3.typeAliases别名
别名,顾名思义,只是取了一个外号而已。使用这个,我们可以用别名替代原来的名称。
<typeAliases>
<typeAlias alias="Author" type="domain.blog.Author"/>
</typeAliases>
4.mappers
上篇博客,我们讲解了使用mapper代理方法开发Dao,我们需要编写一个mapper接口和一个mapper.xml文件。我们就需要在SqlMapConfig.xml中加载我们编写的mapper.xml文件。
我们可以使用classpath方法加载,也可以直接按照文件路径加载
//按照classpath方法加载
<mappers>
<mapper resource="org/mybatis/builder/AuthorMapper.xml"/>
<mapper resource="org/mybatis/builder/BlogMapper.xml"/>
<mapper resource="org/mybatis/builder/PostMapper.xml"/>
</mappers>
// 按照文件路径加载
<mappers>
<mapper url="file:///var/sqlmaps/AuthorMapper.xml"/>
<mapper url="file:///var/sqlmaps/BlogMapper.xml"/>
<mapper url="file:///var/sqlmaps/PostMapper.xml"/>
</mappers>
理解了配置文件我们才能更好的去敲我们的代码。