MyBatis - 基础学习3 - 配置优化
一.环境配置(environments)
MyBatis 可以配置成适应多种环境,不过要记住:尽管可以配置多个环境,但每个 SqlSessionFactory 实例只能选择一种环境。
<environments default="development">
default:可以自定义选择项目将要使用什么样的环境
二.事务管理器(transactionManager)
在 MyBatis 中有两种类型的事务管理器(也就是 type="[JDBC|MANAGED]"):
- JDBC – 这个配置直接使用了 JDBC 的提交和回滚设施,它依赖从数据源获得的连接来管理事务作用域。
三.数据源(dataSource)
DBCP,C3P0,druid
大多数 MyBatis 应用程序会按示例中的例子来配置数据源。虽然数据源配置是可选的,但如果要启用延迟加载特性,就必须配置数据源。有三种内建的数据源类型(也就是 type="[UNPOOLED|POOLED|JNDI]"):
UNPOOLED:没有连接池
POOLED:有连接池
四.属性(properties)
这些属性可以在外部进行配置,并可以进行动态替换。你既可以在典型的 Java 属性文件中配置这些属性,也可以在 properties 元素的子元素中设置。
第一步:新建一个db.properties资源文件
driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost/mybatis?useSSL=false&useUnicode=true&characterEncoding=UTF-8 username=root password=123456
第二步:在mybatis-config.xml中配置,先要引入properties文件,然后通过 ${} 符号取值
<?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 resource="db.properties"/> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <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> <mappers> <mapper resource="top/lostyou/dao/UserMapper.xml"/> </mappers> </configuration>
这是对配置文件引入外部文件的优化,也可以在<properties resource="db.properties"/>增加一些属性,两个属性相同,优先使用外部的文件属性