mybatis-config.xml 核心配置文件
mybatis-config.xml 包含的内容如下
- configuration(配置)
- properties(属性)
- settings(设置)
- typeAliases(类型别名)
- typeHandlers(类型处理器)
- objectFactory(对象工厂)
- plugins(插件)
- environments(环境配置)
- environment(环境变量)
- transactionManager(事务管理器)
- dataSource(数据源)
- databaseIdProvider(数据库厂商标识)
- mappers(映射器)
注意元素节点的顺序!顺序不对会报错
1. environments元素
<environments default="development">
<environment id="development">
<transactionManager type="JDBC">
<property name="..." value="..."/>
</transactionManager>
<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>
<environment id="test">
<transactionManager type="JDBC">
<property name="..." value="..."/>
</transactionManager>
<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>
- environments配置mybatis 多套环境,将sql 映射到多个不同的数据库上,必须指定一个默认环境,即default=”development”
1.1 子元素environment
其中dataSource 数据源(共三种内建的数据源类型)
type="[UNPOOLED|POOLED|JNDI]")
- unpooled:这个数据源的实现只是每次被请求时打开和关闭连接
- pooled:这种数据源的实现利用“池”的概念将 JDBC 连接对象组织起来 , 这是一种使得并发 Web 应用快速响应请求的流行处理方式。
- jndi:这个数据源的实现是为了能在如 Spring 或应用服务器这类容器中使用,容器可以集中或在外部配置数据源,然后放置一个 JNDI 上下文的引用。
注: 数据源也有很多第三方的实现,比如dbcp,c3p0,druid等等….
1.2 transactionManager 事务管理器(共两种)
<transactionManager type="[ JDBC | MANAGED ]"/>
2. mappers 元素(定义映射SQL语句文件)
主要用于找到sql语句的文件在哪里?可以使用不同的方式引用sql语句 具体的引用方式如下