【Mybatis】(四)详解SqlMapConfig.xml文件

    学习一个框架,最难理解的莫过于他的配置文件了。框架里面好多东西都是固定的,不需要我们记忆,也可能我们都不理解。很多东西,我们只是会用而不知其意,会写而不解起因。今天我们就来学习一下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>


我们需要注意:MyBatis在读取配置文件时,首先读取在properties元素内定义的属性,然后读取properties元素中的resource或者url加载的属性。如果有同名属性会覆盖。最后读取parameterType传递的属性,如果有同名会覆盖。


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>

理解了配置文件我们才能更好的去敲我们的代码。



评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值