01_MyBatis_全局配置文件
1、引入dtd约束
联网状态下: http://mybatis.org/dtd/mybatis-3-config.dtd
2、properties_引入外部配置
mybatis可以使用propertie来引入外部propertie配置文件的内容
resource == >> 引入类路径下的资源
url == >> 引入网络路径或者磁盘路径下的资源
<properties resource="dbconfig.properties"></properties>
<dataSource>
<properties name="driver" value="${}"/>
..............
</dataSource>
3、settings_运行时行为设置
Mybatis3--配置 https://mybatis.org/mybatis-3/zh/configuration.html#settings
举例:【是否开启驼峰命名规则】
是否开启驼峰命名自动映射,即从经典数据库列名 A_COLUMN 映射到经典 Java 属性名 aColumn。
<!--
setting:用来设置每一个设置项
name:设置项名
value:设置项取值
-->
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
4、typeAliases_别名
【别名处理器】
类型别名可为 Java 类型设置一个缩写名字
引用【resultType="emp"】
【别名不区分大小写】
<typeAliases>
<!--1、
typeAlias:为某个Java类型起别名
type:指定要起别名的全类名,默认别名是类名小写
alias:指定别名
-->
<typeAlias type="全类名" alias="指定别名"/>
<!--2、
package:为某个包下的所有类批量取别名
name:指定包名【起一个默认别名小写,当前包以及后代包】
-->
<package name="包名"/>
<!--3、
【批量取别名】包扫描情况下,使用注解方式 @Alias 为某个类指定别名
-->
</typeAliases>
5、typeHandlers_类型
typeHandlers_【类型处理器】
自定义类型处理器
6、plugins_插件简介
- Executor 【执行器】(update, query, flushStatements, commit, rollback, getTransaction, close, isClosed)
- ParameterHandler【参数处理器】 (getParameterObject, setParameters)
- ResultSetHandler【结果集处理器】 (handleResultSets, handleOutputParameters)
- StatementHandler【SQL语句处理器】 (prepare, parameterize, batch, update, query)
7、environments_环境配置
数据库数据源
<environments default="development">
<!--
environments:可以配置成适应多种环境 ,default:指定使用某种环境,达到快速切换环境
environment:配置一个具体的环境信息,↓↓↓↓↓这两个参数必须存在
transactionManager【事务管理器】,
type:事务管理器类型,type="[JDBC|MANAGED]"
自定义事务管理器:实现TransactionFactory 接口,type指定为全限定类名
dataSource【数据源】
type:数据源类型,type="[UNPOOLED|POOLED|JNDI]"
自定义数据源:实现 DataSourceFactory 接口,type指定为全类名
id="development":表示当前环境的唯一标识
-->
<environment id="development">
<transactionManager type=""></transactionManager>
<dataSource type=""></dataSource>
</environment>
<environment id="development">
<transactionManager type="JDBC">
<property name="..." value="..."/>
</transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
MyBatis 可以配置成适应多种环境
每个SqlSessionFactory实例只能选择一种环境
一个environment 对应一个 SqlSessionFactory实例
8、databaseIdProvider_数据库厂商标识
<!--
databaseIdProvider:支持多数据库厂商
type="DB_VENDOR":得到数据库厂商标识【驱动getDatabaseProductName()】,mybatis就能根据数据库厂商标识来执行不同的sql
-->
<databaseIdProvider type="DB_VENDOR">
<!--
为不同的数据库厂商起别名,在xxxmapper.xml里面,sql语句databaseId="mysql"表示在mysql环境下才执行sql
-->
<property name="MYSQL" value="mysql"/>
......
</databaseIdProvider>
9、mappers_映射器
<!--
mappers:将sql映射 注册到全局配置中
-->
<mappers>
<!--
mapper:注册一个sql映射
resource:引用类路径下的sql映射文件
url:引用网络路径或者磁盘路径下的sql映射文件
class:引用接口
-->
<mapper resource=""/>
<!--批量注册,类名和xml要在同一路径下-->
<package name="包名"/>
</mappers>

浙公网安备 33010602011771号