目录
前言
这是本人在学习MyBatis中总结出来的配置信息如有缺少还请指正
配置介绍
一、引入外部文件
<!-- 加载外部配置文件 resource的方式-->
<properties resource="database.properties" url="">
<!-- 它会覆盖resource导入文件key值相同的value值 -->
<!-- <property name="password" value="root"/>-->
</properties>
<!-- 加载外部配置文件 url的方式-->
<properties url="file:///D:MyBatis/database.propertis">
<!-- 它会覆盖url导入文件key值相同的value值 -->
<property name="password" value="root"/>
</properties>
<!--
url与resource的对比
resource
首先resource比较常用
resource属性是按照类路径的写法来写的,因此必须在类路径下
URL
URL:Uniform Resource ldenntifier 统一资源标识符
它可以在 web 应用中唯一定位一个资源的路径
-->
二、设置MyBatis运行时行为
<settings>
<!-- 设置MyBatis的日志类型 -->
<setting name="logImpl" value="LOG4J"/>
<!-- 设置MyBatis的结果集自动映射级别 -->
<setting name="autoMappingBehavior" value="FULL"/>
<!-- 开启二级缓存 默认值为true-->
<setting name="cacheEnabled" value="true"/>
<!-- 是否启用懒加载(所有关系都会被延迟加载) -->
<setting name="lazyLoadingEnabled" value="false"/>
</settings>
三、 设置别名
<!-- 为Pojo设置别名 -->
<typeAliases>
<!-- 单独为某个Pojo设置别名 -->
<!-- <typeAlias type="com.cn.shity.dao.EMPMappers" alias="sada"/>-->
<!-- 统一为某个包下的Pojo设置别名(MyBatis会自动生成别名,跟其包下命名一致如:有一个名为 User的Pojo,那么他生成的别名也叫 User -->
<!-- 可能因为某些原因导致默认别名无法区分这时候可使用注解( @Alias(“”) ) 指定命名 -->
<package name="com.cn.shity.entity"/>
</typeAliases>
四、配置数据源
<!-- 为MyBatis配置数据源 defult是配置默认数据源(可配置多个数据源) -->
<environments default="development">
<environment id="development">
<!-- 配置数据源的事务管理器的类型 有两种类型JDBC和MANAGED -->
<!-- JDBC表示直接使用JDBC的提交和回滚功能。(过于依赖程序代码的对事务的管理) -->
<!-- MANAGED表示由容器负责,比如spring框架提供的事务机制 -->
<transactionManager type="JDBC"/>
<!-- 具体配置数据源的信息 三种数据源类型(UNPOOLED、POOLED、JNDI) -->
<!-- UNPOOLED表示采用非池化的连接管理 -->
<!-- POOLED表示MyBatis 框架实现的简单数据库连接池类型 -->
<!-- JNDI表示使用容器中以JNDI方式提供的数据资源 -->
<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>
五、配置SQL映射文件
<!-- 配置MapperSql映射文件 -->
<mappers>
<!-- 统一配置MapperSql映射文件 -->
<!-- <package name="mapper"/>-->
<!-- 单独配置MapperSql映射文件 -->
<mapper resource="mapper/SupperlierMapper.xml"/>
<mapper resource="mapper/roleMapper.xml"/>
<mapper resource="mapper/StorageRecordMapper.xml"/>
<mapper resource="mapper/DEPTMapper.xml"/>
<mapper resource="mapper/EMPMapper.xml"/>
</mappers>
完整配置文件
<?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>
<!-- 加载外部配置文件 resource的方式-->
<properties resource="database.properties" url="">
<!-- 它会覆盖resource导入文件key值相同的value值 -->
<!-- <property name="password" value="root"/>-->
</properties>
<!-- 加载外部配置文件 url的方式-->
<!-- <properties url="file:///D:MyBatis/database.propertis">-->
<!-- <!– 它会覆盖url导入文件key值相同的value值 –>-->
<!-- <property name="password" value="root"/>-->
<!-- </properties>-->
<!--
url与resource的对比
resource
首先resource比较常用
resource属性是按照类路径的写法来写的,因此必须在类路径下
URL
URL:Uniform Resource ldenntifier 统一资源标识符
它可以在 web 应用中唯一定位一个资源的路径
-->
<settings>
<!-- 设置MyBatis的日志类型 -->
<setting name="logImpl" value="LOG4J"/>
<!-- 设置MyBatis的结果集自动映射级别 -->
<setting name="autoMappingBehavior" value="FULL"/>
<!-- 开启二级缓存 默认值为true-->
<setting name="cacheEnabled" value="true"/>
<!-- 是否启用懒加载(所有关系都会被延迟加载) -->
<setting name="lazyLoadingEnabled" value="false"/>
</settings>
<!-- 为Pojo设置别名 -->
<typeAliases>
<!-- 单独为某个Pojo设置别名 -->
<!-- <typeAlias type="com.cn.shity.dao.EMPMappers" alias="sada"/>-->
<!-- 统一为某个包下的Pojo设置别名(MyBatis会自动生成别名,跟其包下命名一致如:有一个名为 User的Pojo,那么他生成的别名也叫 User -->
<!-- 可能因为某些原因导致默认别名无法区分这时候可使用注解( @Alias(“”) ) 指定命名 -->
<package name="com.cn.shity.entity"/>
</typeAliases>
<!-- 为MyBatis配置数据源 defult是配置默认数据源(可配置多个数据源) -->
<environments default="development">
<environment id="development">
<!-- 配置数据源的事务管理器的类型 有两种类型JDBC和MANAGED -->
<!-- JDBC表示直接使用JDBC的提交和回滚功能。(过于依赖程序代码的对事务的管理) -->
<!-- MANAGED表示由容器负责,比如spring框架提供的事务机制 -->
<transactionManager type="JDBC"/>
<!-- 具体配置数据源的信息 三种数据源类型(UNPOOLED、POOLED、JNDI) -->
<!-- UNPOOLED表示采用非池化的连接管理 -->
<!-- POOLED表示MyBatis 框架实现的简单数据库连接池类型 -->
<!-- JNDI表示使用容器中以JNDI方式提供的数据资源 -->
<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>
<!-- 配置MapperSql映射文件 -->
<mappers>
<!-- 统一配置MapperSql映射文件 -->
<!-- <package name="mapper"/>-->
<!-- 单独配置MapperSql映射文件 -->
<mapper resource="mapper/SupperlierMapper.xml"/>
<mapper resource="mapper/roleMapper.xml"/>
<mapper resource="mapper/StorageRecordMapper.xml"/>
<mapper resource="mapper/DEPTMapper.xml"/>
<mapper resource="mapper/EMPMapper.xml"/>
</mappers>
</configuration>