4.主配置文件详解
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4.主配置文件详解相关的知识,希望对你有一定的参考价值。
主配置文件名可以随意命名,其主要完成以下几个功能:
1.注册存放DB连接的四要素的属性文件
2.注册实体类的全限定性类名的别名
3.配置MyBatis运行环境,即数据源与事务管理器
4.注册映射文件
(1) 注册 DB 连接四要素属性文件
F2 查看其父标签<configuration/>的描述信息可知,<properties/>子标签应该是第一个子 标签。
(2) 指定实体类全限定性类名的别名
基本类型:
别名 |
类型 |
|
别名 |
类型 |
_int |
int |
|
_integer |
int |
_short |
short |
|
_long |
long |
_double |
double |
|
_float |
float |
_byte |
byte |
|
_boolean |
boolean |
常用包装类型:
别名 |
类型 |
|
别名 |
类型 |
string |
String |
|
byte |
Byte |
long |
Long |
|
short |
Short |
int |
Integer |
|
integer |
Integer |
double |
Double |
|
float |
Float |
boolean |
Boolean |
|
date |
Date |
object |
Object |
|
collection |
Collection |
list |
List |
|
arraylist |
ArrayList |
map |
Map |
|
hashmap |
HashMap |
iterator |
Iterator |
|
|
|
<environment/>的 id 属性为当前定义的运行环境的名称,可以任意命名。该名称会作为<environments/>的 default 属性的值出现。
(3) 配置 MyBatis 的运行环境
配置 MyBatis 的运行环境,主要是配置数据源与事务管理器
A、 <environments/>标签
在<environments/>中可以包含多个运行环境<environment/>,但其 default 属性指定了当前 MyBatis 运行时所选择使用的环境。
B、 <transactionManager/>标签
该标签用于指定 MyBatis 所使用的事务管理器。MyBatis 支持两种事务管理器类型:JDBC 与 MANAGED。
1.JDBC:使用 JDBC 的事务管理机制。即,通过 Connection 的 commit()方法提交,通过 rollback()方法回滚。
但默认情况下,MyBatis 将自动提交功能关闭了,改为了手动提交。 即程序中需要显式的对事务进行提交或回滚。从日志的输出信息中可以看到
2.MANAGED:由容器来管理事务的整个生命周期(如 Spring 容器)。
C、 <dataSource/>标签
该标签用于配置 MyBatis 使用的数据源类型与数据库连接基本属性。常见有类型有:
UNPOOLED、POOLED、JDNI 等。
? UNPOOLED :不使用连接池。即每次请求,都会为其创建一个 DB 连接,使用完毕 后,会马上将此连接关闭。
? POOLED:使用数据库连接池来维护连接。
? JNDI:数据源可以定义到应用的外部,通过 JNDI 容器获取数据库连接。
若要从属性文件中读取 DB 连接四要素信息,则使用如下方式:
A、 <mapper resource=””/>指定映射文件
若映射文件只有一个,则可直接使用如下形式:
B、 <mapper url=””/>指定映射文件(了解)
该方式的好处是,可以将映射文件放在本地或网络的任意位置,通过其 url 地址即可直接访问。但通常映射文件是存放在当前应用中的,所以该方式不常用。
C、 <mapper class=””/>指定映射文件
class 属性值为 Dao 接口的全类名
该方式的使用,需要满足以下几个要求:
(1)映射文件名要与 Dao 接口名称相同
(2)映射文件要与接口在同一包中
(3)映射文件中<mapper/>的 namespace 属性值为 Dao 接口的全类名
D、 <package name=””/>指定映射文件
当映射文件较多时,也可以使用如下形式。其中 package 的 name 属性指定映射文件所 存放的包。
但,这种方式的使用需要满足以下几个条件:
(1)dao 使用 mapper 动态代理实现(后面讲)
(2)映射文件名要与 Dao 接口名称相同
(3)映射文件要与接口在同一包中
(4)映射文件中<mapper/>的 namespace 属性值为 Dao 接口的全类
以上是关于4.主配置文件详解的主要内容,如果未能解决你的问题,请参考以下文章