一.简介
SqlMapConfig.xml是Mybatis的全局配置文件,我们在写mybatis项目时,在SqlMapConfig.xml文件中主要配置了数据库数据源、事务、映射文件等,其实还有很多配置信息,例如:
*properties(属性)
--property
*settings(全局配置参数)
--setting
*typeAliases(类型别名)
--typealiase
--package
*typeHandlers(类型处理器)
*objectFactory(对象工厂)
*plugins(插件)
*environments(环境集合属性对象)
--environment(环境子属相对象)
--transactionManager(事务管理)
--dataSource(数据源)
*mappers(映射器)
--mapper
--package
二.主要配置信息:
1.properties(属性):使用此标签配置时,我们可以采用两种方式来配置(个人感觉第二种配置方式不错):
*value值可直接写上你所拥有的数据库信息,本机号、账户及密码等。
<properties> <property name="jdbc.driver" value="com.mysql.jdbc.Driver"/> <property name="jdbc.url" value="jdbc:mysql://localhost:3306/eesy"/> <property name="jdbc.username" value="root"/> <property name="jdbc.password" value="1234"/> </properties>
*可以在根目录下创建xxx.properties文件,然后对其引用。其内容为:
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://本机地址/所要操作的数据库名 jdbc.username=账户 jdbc.password=密码
<properties resource="xxx.properties"/> <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> </properties>
其中
resource属性是指用于指定xxx.properties文件的位置,要求配置文件必须在类路径下.
dataSource属性是指数据源配置.
type属性指定相应的数据源:Mybatis将本身数据源分成三类:
*UNPOOLED:不使用连接池的数据源;
*POOLED:使用连接池的数据源;
*JNDI:使用JNDI实现的数据源。
2.settings(全局配置参数):mybatis框架在运行时可以调整一些运行参数。比如:开启二级缓存、开启延迟加载。全局参数将会影响mybatis的运行行为。例:
settings配置
setting ( name) |
Description (描述) |
Values (值) |
Default (默认值) |
cacheEnabled | 在全局范围内启用或禁用缓存配置 任何映射器在此配置下。 | true | false | true |
lazyLoadingEnabled | 在全局范围内启用或禁用延迟加载。禁用时,所有相关联的将热加载 | true | false | true |
logPrefix | 指定的前缀字串,MyBatis将会增加记录器的名称 | Any String | Not set |
<settings> <!-- 开启二级缓存的支持 --> <setting name="cacheEnabled" value="true"/> </settings>
等,还有很多,可以去百度搜索。
3.typeAliases(类型别名):之前我们在书写SQL语句的xml中resultType属性用于指定结果集的类型,parameterType属性用于指定传入参数的类型。指定时要写入全路径,这样不方便项目的开发,如此可以针对这几个属性起一些别名,通过别名来定义。下面我们来自定义别名:
在 SqlMapConfig.xml 中配置: <typeAliases> <!-- 单个别名定义 --> <typeAlias alias="user" type="com.it.domain.User"/> <!-- 批量别名定义,扫描整个包下的类,别名为类名(首字母大写或小写都 可以) --> <package name="com.it.domain"/> <package name="其它包"/> </typeAliases>
4.mappers(映射器):
*通过resource加载单个映射文件,如:
<mapper resource="com/it/dao/IUserDao.xml"/>
*通过mapper接口加载单个映射文件,如:
<mapper resource="com.it.dao.IUserDao"/>
注:此方法要求mapper接口名称和mapper映射文件名称相同,且放在同一个目录中。
*注册指定包下的所有 mapper 接口 ,如:
<mapper resource="com.it.dao"/>
注:此种方法要求 mapper 接口名称和 mapper 映射文件名称相同,且放在同一个目录中。
关于SqlMapConfig.xml配置文件我们就讲到这里。有什么问题@我,互帮互助,共同进步。