当前位置:Gxlcms >
数据库问题 >
Mybatis学习(3)关于mybatis全局配置文件SqlMapConfig.xml
Mybatis学习(3)关于mybatis全局配置文件SqlMapConfig.xml
时间:2021-07-01 10:21:17
帮助过:13人阅读
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>
<!-- 加载属性文件 -->
<properties resource="db.properties">
<!--properties中还可以配置一些属性名和属性值 -->
<!-- <property name="jdbc.driver" value=""/> -->
</properties>
<!-- 全局配置参数,需要时再设置 -->
<!-- <settings></settings> -->
<!-- 别名 -->
<typeAliases>
<!-- 针对单个别名定义 type:类型的路径 alias:别名 -->
<!-- <typeAlias type="com.cy.po.User" alias="user"/> -->
<!-- 批量别名定义 指定包名,mybatis自动扫描包中的po类,自动定义别名,别名就是类名(首字母大写或小写都可以)-->
<package name="com.cy.po"/>
</typeAliases>
<!-- 和spring整合后 environments配置将废除-->
<environments default="development">
<environment id="development">
<!-- 使用jdbc事务管理,事务控制由mybatis-->
<transactionManager type="JDBC" />
<!-- 数据库连接池,由mybatis管理-->
<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>
<!-- 加载 映射文件 -->
<mappers>
<!--通过resource方法一次加载一个映射文件 -->
<!-- <mapper resource="mapper/UserMapper.xml"/> -->
<!-- 通过mapper接口加载单个 映射文件
遵循一些规范:需要将mapper接口类名和mapper.xml映射文件名称保持一致,且在一个目录 中
上边规范的前提是:使用的是mapper代理方法
-->
<!-- <mapper class="com.cy.mapper.UserMapper"/> -->
<!-- 批量加载mapper
指定mapper接口的包名,mybatis自动扫描包下边所有mapper接口进行加载
遵循一些规范:需要将mapper接口类名和mapper.xml映射文件名称保持一致,且在一个目录 中
上边规范的前提是:使用的是mapper代理方法
-->
<package name="com.cy.mapper"/>
</mappers>
</configuration>
一、properties属性:
将数据库连接参数单独配置在db.properties中,只需要在SqlMapConfig.xml中加载db.properties的属性值。在SqlMapConfig.xml中就不需要对数据库连接参数硬编码。
将数据库连接参数只配置在db.properties中,原因:方便对参数进行统一管理,其它xml可以引用该db.properties。
注意点:
MyBatis 将按照下面的顺序来加载属性:
1)在 properties 元素体内定义的属性首先被读取。
2)然后会读取properties 元素中resource或 url 加载的属性,它会覆盖已读取的同名属性。
3)最后读取parameterType传递的属性,它会覆盖已读取的同名属性。
建议:
不要在properties元素体内添加任何属性值,只将属性值定义在properties文件中。
在properties文件中定义属性名要有一定的特殊性,如:XXXXX.XXXXX.XXXX
二、settings全局配置参数:
mybatis框架在运行时可以调整一些运行参数。比如:开启二级缓存、开启延迟加载。
全局参数将会影响mybatis的运行行为。
资料参见下图:
三、typeAliases别名:
在mapper.xml中,定义很多的statement,statement需要parameterType指定输入参数的类型、需要resultType指定输出结果的映射类型。
mybatis默认对一些java类型(如:String/byte/long/short/double/Integer/Double/Boolean/boolean/Date/BigDecimal)定义了别名;
我们可以对一些自定义的pojo类型进行别名定义:
1)针对单个别名定义
2)批量别名定义
四、typeHandlers类型处理器:
mybatis中通过typeHandlers完成jdbc类型和java类型的转换。
通常情况下,mybatis提供的类型处理器满足日常需要,不需要自定义.
mybatis默认支持了很多类型处理器:
如:BooleanTypeHandler 、ByteTypeHandler 、BigDecimalTypeHandler 、StringTypeHandler 、DateTypeHandler 、DateOnlyTypeHandler 、TimeOnlyTypeHandler 、SqlTimestampTypeHandler 、SqlDateTypeHandler EnumTypeHandler 等等;
五、mappers映射配置:
1)通过resource加载单个映射文件
2)通过mapper接口加载单个mapper
3)批量加载mapper(推荐使用)
配置方法见上面的配置文件。
Mybatis学习(3)关于mybatis全局配置文件SqlMapConfig.xml
标签:hand typealias 加载 管理 首字母 3.0 word 事务 img