Mybatis中Confignation.xml配置
1、configuration有什么作用?
configuration管理MyBatis的配置,MyBatis的所有配置信息都存放的在configuration中。
下面我们看看configuration可配置的属性有哪些:
1.1 properties属性
实例:
这些都是外部化的,可替代的属性。其中的属性就可以再整个配置文件中使用,使用可替换的属性来实现动态配置,如下:
如果这些地方属性多余一个,没MyBatis按照下面的顺序加载:
在properties元素体内指定的属性首先被读取。
从类路径下资源或者properties元素的eurl属性中加载的属性第二被读取,它会覆盖已经存在的完全一样的属性。
作为方法参数船传递的属性最后被读取,他会覆盖任一已存在的完全一样的属性。
1.2 setings
这些是非常重要的属性,他会修改MyBatis在运行时的行为方式。如果不熟悉配置建议使用默认配置。
实例:
1.3 typeAliases类型命名
实例:
environments里的default属性表示默认的数据库环境,与某个environment的id相对应。
environment环境变量
environment通过id属性与其他数据库环境区别。它有两个子节点:
transactionManager事务管理器
在MyBatis中有两种事务管理器类型(也就是type=”[JDBC|MANAGED]”):
l JDBC–这个配置直接简单使用了JDBC的提交和回滚设置。它依赖于从数据源得到的连接来管理事务范围。
l MANAGED–这个配置几乎没做什么。它从来不提交或回滚一个连接。而它会让容器来管理事务的整个生命周期(比如spring或JEE应用服务器的上下文)
dataSource数据源
在MyBatis中有三种数据源类型(也就是type=”[UNPOOLED | POOLED| JNDI]”):
l UNPOOLED –这个数据源的实现是每次被请求时简单打开和关闭连接,需要配置的属性:
driver – 这是JDBC驱动的Java类的完全限定名
url – 这是数据库的JDBC URL地址。
username – 登录数据库的用户名。
password – 登录数据库的密码。
defaultTransactionIsolationLevel – 默认的连接事务隔离级别。
l POOLED –mybatis实现的简单的数据库连接池类型,它使得数据库连接可被复用,不必在每次请求时都去创建一个物理的连接。
l JNDI – 通过jndi从tomcat之类的容器里获取数据源。
<?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>
<typeAliases>
<typeAlias alias="User" type="com.yihaomen.mybatis.model.User"/>
</typeAliases>
<environments default="development"><!-- environments里的default属性表示默认的数据库环境,与某个environment的id相对应。 -->
<environment id="development">
<transactionManager type="JDBC"/><!-- 在MyBatis中有两种事务管理器类型(也就是type=”[JDBC|MANAGED]”): -->
<dataSource type="POOLED"><!-- 在MyBatis中有三种数据源类型(也就是type=”[UNPOOLED | POOLED| JNDI]”): -->
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis" />
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/yihaomen/mybatis/model/User.xml"/>
</mappers>
</configuration>
1.7 mapper映射器
Mappers用于告诉Mybatis去哪里寻找sql映射文件。sql映射文件是Mybatis最灵活的地方
实例:
IBatis配置文件说明
IBatis配置文件(ibatis.config.xml)中的各节点配置说明主要结构层次如下
configuration
|— properties
|— settings
|— typeAliases
|— typeHandlers
|— objectFactory
|— plugins
|— environments
|— |— environment
|— |— |— transactionManager
|— |— |__ dataSource
|__ mappers