MyBatis全局配置文件MyBatis-config.xml代码

时间:2021-11-12 11:09:50
<?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> <!-- 1.MyBatis可以使用properties来引入外部properties配置文件的内容 resource:引入类路径下的资源 url:引入网路路径或者磁盘路径下的资源 -->
<properties resource="dbconfig.properties"></properties> <!-- 2.settings包含很多重要的设置项 setting:用来设置每一个设置项 name:设置项名 value:设置项取值
name="mapUnderscoreToCamelCase"将数据库中带下划线的列,转成驼峰命名法
-->
<settings>
<setting name="mapUnderscoreToCamelCase" value="true" />
</settings> <!--3.typeAliases别名处理器,可以为我们的java类型起别名 -->
<!-- typeAlias为某个java类型起别名 typeAlias节点中的属性 type:指定要起别名的类型全类名,默认别名是就是类名全小写:emp
alias:指定新的别名 -->
<!-- <typeAlias type="cn.bdqn.mybatis.been.Emp" alias="Emp"/> -->
<!-- 批量起别名 package:为某个包下的类批量起别名 name属性:指定包名,为当前包以及所有的后代包中的类都起一个默认别名(默认别名就是类名的全小写)
批量起别名时如果有相同类名的化,可以使用注解的方式为同名类起别名,@Alias("Emp") -->
<typeAliases>
<package name="cn.bdqn.mybatis.been" />
</typeAliases> <!-- 4.environments环境们,mybatis可以配置多种环境,default属性可以指定使用某种环境,从而达到快去进行环境的切换
environment:配置具体的环境信息;必须有两个标签:transactionManager 和dataSource,id属性代表当前环境的唯一标识
transactionManager:事务管理器;type属性代表事务管理器的类型,可以有两种取值JDBC(JdbcTransactionFactory)|MANGED(ManagedTransactionFactory),其实JDBC和MANGED是两个别名
自定义事务管理器,只需要实现TransactionFactory接口,Type指定全类名 dataSource 数据源 type:数据源类型,官方提供三种UNPOOLED|POOLED|JNDI
这三个也是别名 可以自定义数据源:实现DataSourceFactory接口,type就是我们自定义数据源的全类名 -->
<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>
<environment id="test" >
<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> <!-- 5.databaseIdProvider:支持多数据库厂商 type="DB_VENDOR",DB_VENDOR也是别名,指的VendorDatabaseIdProvider这个类
作用就是得到数据库厂商的标识(驱动自带),Mybatis就能根据数据库厂商标识来执行不同的sql property.为不同的数据库厂商起别名 -->
<databaseIdProvider type="DB_VENDOR">
<property name="MySQL" value="mysql" />
<property name="Oracle" value="oracle" />
</databaseIdProvider> <!--将我们写好的SQL映射文件(empMapper.xml)一定要注册到全局配置文件中 (mybatis-config.xml) -->
<!-- 6.mappers:将sql映射注册到全局配置中 注册文件: resource:引入类路径下的sql映射文件 url:引用网络路径或磁盘路径下的sql映射文件
注册接口: class:直接引用(注册)接口 1.有sql映射文件,映射文件名必须与接口同名.并且放在与接口同一目录下; 2.没有sql映射文件,所有的sql都是利用注解卸载接口上
推荐:比较重要的DAO接口我们来写SQL映射文件 不重要的,简单的dao接口为来快速开发可以使用注解 package 批量注册有sql映射文件,映射文件名必须与接口同名.并且放在与接口同一目录下;
name用来指定包名 -->
<mappers>
<mapper resource="empMapper.xml" />
</mappers>
</configuration>