1.全局配置
<?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 和 Spring 的 context:property-placeholder 一样都是引入外部文件-->
<!--
resource:从类路径下开始引用
URL:引用磁盘路径或者网络路径的资源
-->
<properties resource="dbconfig.properties"></properties>
<!-- 这是 MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的运行时行为。 下表描述了设置中各项设置的含义、默认值等。 -->
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
<!-- 为我们常用的类型起别名,可以将冗长的全类名简化为简短别名,默认就是类名(不区分大小写),设置别名后配置文件也可以使用别名 -->
<typeAliases>
<typeAlias type="com.edu.bean.Employee" alias="Employee"/>
</typeAliases>
<!--
后期项目实战中,数据源和事务管理都是使用Spring
-->
<!-- default表示当前默认使用哪个环境 -->
<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="debug">
<transactionManager type="JDBC"/>
<dataSource type="com.edu.component.C3P0DataSourceFactory">
<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>
<!-- mybatis用来考虑数据库的可迁移性 -->
<databaseIdProvider type="DB_VENDOR">
<!--
name:数据库厂商表示,value:为该表示起一个好别名
MySQL\Oracle\SQL Server
-->
<property name="MySQL" value="mysql"/>
<property name="SQL Server" value="sqlsv"/>
<property name="Oracle" value="orcl"/>
</databaseIdProvider>
<mappers>
<!--
url: 磁盘或者网络引用路径
resource:类路径下找sql映射文件
class:直接引用接口的全类名
-->
<!--需要将 xml 放在和 dao 接口同目录下,且命名相同 -->
<!--<mapper class="com.edu.dao.EmployeeDao"/> -->
<!--<mapper resource="EmployeeDao.xml"/> -->
<!--批量注册 配置方式1: name 为dao所在的包名, 批量注册依然需要将xml和dao接口放在同目录下,且命名相同-->
<!-- 批量注册 配置方式2:xml与dao接口处在不同名称的源码包下, package 名一致,xml和dao接口依然要求命名相同 。Why?因为项目运行时,源码包会被合并-->
<package name="com.edu.dao"/>
</mappers>
</configuration>
2.注意配置的顺序是固定的,顺序不对会报错,哪里查看顺序?