本文主要是介绍Mybatis——解析SqlMapConfig.xml文件(四),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
上一篇文章我们讲解了《Mybatis—开发Dao方法(三)》下面我们继续来解析一下SqlMapConfig.xml文件。
【配置内容】
mybatis的全局配置文件SqlMapConfig.xml,配置内容如下:
1、properties(属性)
2、settings(全局配置参数)
3、typeAliases(类型别名)
4、typeHandlers(类型处理器)
5、objectFactory(对象工厂)
6、plugins(插件)
7、environments(环境集合属性对象)
(1)environment(环境子属性对象)
(1.1) transactionManager(事务管理)
(1.2)dataSource(数据源)
<!-- 和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>
8、mappers(映射器)
【properties属性】
1、需求
将数据库连接参数单独配置在db.properties中,方便对参数进行统一管理,其它xml可以引用该db.properties,只需要在SqlMapConfig.xml中加载db.properties的属性值。在SqlMapConfig.xml中就不需要对数据库连接参数硬编码。
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis
jdbc.username=root
jdbc.password=mysql
在sqlMapConfig.xml加载属性文件:
<!-- 加载属性文件 --><properties resource="db.properties"><!--properties中还可以配置一些属性名和属性值 --><!-- <property name="jdbc.driver" value=""/> --></properties>
2、properties特性:
(1)注意: MyBatis 将按照下面的顺序来加载属性:
在 properties 元素体内定义的属性首先被读取。
然后会读取properties 元素中resource或 url 加载的属性,它会覆盖已读取的同名属性。
最后读取parameterType传递的属性,它会覆盖已读取的同名属性。
(2)建议:
不要在properties元素体内添加任何属性值,只将属性值定义在properties文件中。
在properties文件中定义属性名要有一定的特殊性,如:XXXXX.XXXXX.XXXX
【settings全局参数配置】
mybatis框架在运行时可以调整一些运行参数。
比如:开启二级缓存、开启延迟加载。。
全局参数将会影响mybatis的运行行为。
<!-- 全局配置参数,需要时再设置 --><settings><!-- 打开延迟加载 的开关 --><setting name="lazyLoadingEnabled" value="true"/><!-- 将积极加载改为消极加载即按需要加载 --><setting name="aggressiveLazyLoading" value="false"/><!-- 开启二级缓存 --><setting name="cacheEnabled" value="true"/></settings>
【typeAliases(别名)】
1、需求
(1)在mapper.xml中,定义很多的statement,statement需要parameterType指定输入参数的类型、需要resultType指定输出结果的映射类型。
(2)如果在指定类型时输入类型全路径,不方便进行开发,可以针对parameterType或resultType指定的类型定义一些别名,在mapper.xml中通过别名定义,方便开发。
2、Mybatis默认支持别名
3、自定义别名
(1)单个别名定义
(2)批量定义别名(常用)
【typeHandlers(类型处理器)】
mybatis中通过typeHandlers完成jdbc类型和java类型的转换。
通常情况下,mybatis提供的类型处理器满足日常需要,不需要自定义.
mybatis支持类型处理器:
【mappers(映射配置)】
1、通过resource加载单个映射文件
<!--通过resource方法一次加载一个映射文件 --><mapper resource="mapper/UserMapper.xml"/>
2、通过mapper接口加载单个mapper
<!-- 通过mapper接口加载单个 映射文件遵循一些规范:需要将mapper接口类名和mapper.xml映射文件名称保持一致,且在一个目录 中上边规范的前提是:使用的是mapper代理方法--><mapper class="cn.itcast.mybatis.mapper.UserMapper"/>
3、批量加载mapper(推荐使用)
<!-- 批量加载mapper指定mapper接口的包名,mybatis自动扫描包下边所有mapper接口进行加载遵循一些规范:需要将mapper接口类名和mapper.xml映射文件名称保持一致,且在一个目录 中上边规范的前提是:使用的是mapper代理方法--><package name="cn.itcast.mybatis.mapper"/>
好了小编今天的总结就到这里了。。欢迎关注下面的内容《Mybatis—输入输出映射》。
这篇关于Mybatis——解析SqlMapConfig.xml文件(四)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!