MyBaits基础核心配置
Posted 烟锁迷城
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBaits基础核心配置相关的知识,希望对你有一定的参考价值。
1、mybaits-config核心配置文件标签
将Mybaits集成到Spring中,需要添加一些配置文件。它的核心配置文件,就是mybaits-config.xml。
1.1、configuration标签
configuration标签是所有标签的父标签,它同时对应着mybaits的配置类configuration。
1.2、properties标签
properties是为了引入properties文件,用来添加数据库连接配置的标签。这个标签可以没有,但是mybaits-config.xml的数据库连接配置就需要硬编码。有个对应的properties文件,就可以将配置信息配置在properties文件中。
<properties resource="db.properties"></properties>
1.3、typeAliases标签
别名标签,可以为一个单独的对象指定一个别名,这样在Mybaits框架的xml文件里,所有需要写这个对象全路径名的位置就都可以用别名指代,
除了用户自定义的别名标签,Mybaits也定义了一些别名,这些别名映射都放在TypeAliasRegistry类中
<typeAliases>
<typeAlias alias="user" type="com.my.li.bean.User"/>
</typeAliases>
1.4、typeHandler标签
在TypeHandlerRegistry类中有数据库类型与java数据类型转换的方法,下载源码后,重新查看,可以看到在这个类中,所有类型的handler都继承了BaseTypeHandler来实现类型转换。如果想要做一些特殊的转换动作就需要先写一个自定义handler,继承BaseTypeHandler,重写转换方法并在typeHandler标签中加入。
<typeHandlers>
<typeHandler handler="com.my.li.handler.MyTypeHandler"/>
</typeHandlers>
定义完成后,要在需要的字段后使用typeHandler来表明使用的handler。
<resultMap id="BaseResultMap" type="com.my.li.bean.User">
<id column="user_id" jdbcType="BIGINT" property="userId" />
<result column="user_name" jdbcType="VARCHAR" property="userName"
typeHandler="com.my.li.handler.MyTypeHandler"/>
<result column="user_age" jdbcType="INTEGER" property="userAge" />
<result column="user_sex" jdbcType="INTEGER" property="userSex" />
</resultMap>
1.5、objectFactory标签
ObjectFactory接口内有四个方法,这是Mybaits用来创建对应对象的方法,它有一个默认的实现类,DefaultObjectFactory。如果开发者想要在创建对象时使用一些其他操作,可以通过实现ObjectHandler或继承DefaultObjectFactory的方式自定义一个类,并且在ObjectHandler标签中进行声明。
在objectHandler标签下还有property子标签,可以定义一些key-value的键值对
<objectFactory type="com.my.li.factory.MyObjectFactory">
<property name="test" value="one"/>
</objectFactory>
1.6、plugins标签
插件标签,可以用来扩展Mybaits功能,只能拦截四大插件中的关键性方法。定义多个插件时,插件的执行顺序是自下而上的。
<plugins>
<plugin interceptor="com.my.li.interceptor.SQLInterceptor">
<property name="test" value="one"/>
</plugin>
<plugin interceptor="com.my.li.interceptor.PageInterceptor"/>
</plugins>
1.7、environments标签
environments标签环境配置,用于配制数据库环境,每一个environment标签都代表一个数据源,transactionManager负责配置事务,datasource标签代表数据源,POOLED代表使用连接池,UNPOOLED代表不使用连接池。property代表数据库连接配置
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<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>
1.8、mappers标签
指定启动路径文件,可以指定
- 类路径资源引用
- 完全限定资源定位符
- 使用映射器接口实现类的完全限定类名
- 将包内的映射器接口实现全部注册为映射器
<mappers>
<mapper resource="BlogMapper.xml"/>
<mapper resource="BlogMapperExt.xml"/>
</mappers>
1.9、settings标签
1.9.1、cacheEnabled
决定工程中是否开启二级缓存
1.9.2、localCacheScope
一级缓存工作范围
1.9.3、lazyLoadingEnabled
lazyLoadingEnabled = false,则禁用延迟加载,会级联加载所有关联对象的数据
lazyLoadingEnabled = true,默认情况下mybatis 是按层级延时加载的。
1.9.4、laggressiveLazyLoading
aggressiveLazyLoading = true,mybatis 是按层级延时加载
aggressiveLazyLoading = false,mybatis 按需求加载。
1.9.5、lazyLoadTriggerMethods
延迟加载
1.9.6、defaultExecutorType
执行器类型,SIMPLE普通执行器,REUSE可重用的执行器,BATCH批量操作数据
1.9.7、logImpl
日志实现
2、Mapper映射文件标签
2.1、cache
对给定命名空间的缓存配置
2.2、cache-ref
对其他命名空间缓存配置的引用
2.3、resultMap
用来描述如何从数据库结果集中加载对象
2.4、sql
可被其他语句引用的可重用SQL语句
2.5、insert
映射插入语句
2.6、update
映射更新语句
2.7、delete
映射删除语句
2.8、select
映射查找语句
以上是关于MyBaits基础核心配置的主要内容,如果未能解决你的问题,请参考以下文章