MyBatis的核心配置文件
前言
这篇文章整理了MyBatis的核心配置文件中常用一些标签
一、常用标签
<properties :加载perperties文件
<settings :设置
<typeAliases 注册别名
<environments 环境配置
<transactionManager 配置事务管理器
<dataSource 配置数据源
<mappers 加载映射文件
二.标签介绍
1. < properties >
加载properties文件, 使用时 用${}
如:jdbc.properties中 jdbc.driver=com.mysql.jdbc.Driver
使用时 ${jdbc.driver}
<properties resource="jdbc.properties"/>
<property name="driver" value="${jdbc.driver}"/>
2. < settings >
<settings>
<!-- 设置日志输出底层执行的代码 -->
<setting name="logImpl" value="STDOUT_LOGGING"/>
<!-- 把数据库字段的下划线映射成小驼峰命名 -->
<setting name="mapUnderscoreToCamelCase" value="true"/>
<!-- 开启二级缓存-->
<setting name="cacheEnabled" value="true"/>
</settings>
3. < typeAliases >
两种方式:< typeAlias >,< package >
3.1单个注册
type:实体类的全限定类名,不区分大小写
<typeAliases>
<!-- 单个注册-->
<typeAlias type="com.hem.pojo.Student" alias="student"></typeAlias>
</typeAliases>
3.2批量注册
注册后这个包下面的实体类都会注册别名,别名就是类名,且不区分大小写
<typeAliases>
<!-- 批量注册别名
别名是类名的驼峰命名法(规范)-->
<package name="com.hem.pojo"/>
</typeAliases>
使用示例: 由com.itheima.pojo.Student–>student
<select id="getAll" resultType="student" >
select id,name,email,age
from student;
</select>
4. < environments >
可以有多个环境,default使用不同的id,哪个id的配置就生效,id就是提供给default使用
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"></transactionManager>
<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="home">-->
<!-- <transactionManager type=""></transactionManager>-->
<!-- <dataSource type=""></dataSource>-->
<!-- </environment>-->
<!-- <environment id="company">-->
<!-- <transactionManager type=""></transactionManager>-->
<!-- <dataSource type=""></dataSource>-->
<!-- </environment>-->
</environments>
5. < transactionManager >
两种类型JDBC,MANAGER
JDBC:使用了JDBC的提交和事务回滚设置,依赖JDBC的Connection管理事务
MANAGER:它的提交和回滚方法不用任何操作,而是把事务交给容器处理
<transactionManager type="JDBC"></transactionManager>
6. < dataSource >
用来配置数据源,
三种类型:UNPOOLED、POOLED、JNDI
UNPOLLED:不使用数据库连接池
POOLED:使用数据库连接池
JNDI:java命名目录接口,在服务器端进行数据库连接池的管理
<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>
7. < mappers >
用来加载配置文件
四种方式: < mapper >标签 属性resource url class , < package >标签
且优先级package>resource>url>class (底层代码中if判断的顺序是这样)
7.1
<mappers>
<package name="com.hem.mapper"/>
</mappers>
7.2
<mappers>
<mapper resource="StudentMapper.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>
<!--一定要按顺序,不能调换-->
<!-- 读取peoperties文件
属性:
resources:从resources目录下找指定名称的文件加载
jdbc.properties
url:使用绝对路径加载
E:\idea项目\mybatis_001_student\src\main\resources\jdbc.properties
-->
<properties resource="jdbc.properties"/>
<!-- 设置日志输出底层执行的代码-->
<settings>
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
<!-- 注册实体类别名-->
<typeAliases>
<!-- 单个注册-->
<!-- <typeAlias type="com.hem.pojo.Student" alias="student"></typeAlias>-->
<!-- 批量注册别名
别名是类名的驼峰命名法(规范)-->
<package name="com.hem.pojo"/>
</typeAliases>
<!-- 数据库连接配置
可以有多个环境,default使用不同的id,哪个id的配置就生效
id就是提供给default使用
-->
<environments default="development">
<environment id="development">
<!-- 配置事务管理器 可以查看源码,有哪些属性选择org.mybatis-mybatis-org-apache-ibatis-builder-xml
type:指定事务管理的方式
JDBC:事务的控制交给程序员
MANAGED:由容器(spring)来管理实务
-->
<transactionManager type="JDBC"></transactionManager>
<!-- 配置数据源
type:指定不同的配置方式
JNDI:java命名目录接口,在服务器端进行数据库连接池的管理
POOLED:使用数据库连接池
UNPOLLED:不使用数据库连接池
-->
<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="home">-->
<!-- <transactionManager type=""></transactionManager>-->
<!-- <dataSource type=""></dataSource>-->
<!-- </environment>-->
<!-- <environment id="company">-->
<!-- <transactionManager type=""></transactionManager>-->
<!-- <dataSource type=""></dataSource>-->
<!-- </environment>-->
</environments>
<!-- 注册mapper。xml文件
resources:从resources目录下找指定名称的文件加载
url:使用绝对路径加载
class:动态代理方式下注册
-->
<mappers>
<mapper resource="StudentMapper.xml"/>
</mappers>
</configuration>
202210151617六