ibatis学习配置文件基本概念

1、有下面配置文件分析相关

<?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>
 <!--environments决定加载哪种环境,包括数据源和事务管理器。-->
<environments default="development">
<environment id="development">
<!-- transactionManager 事物管理器 -->
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/ecrm"/>
<property name="username" value="root"/>
<property name="password" value="root123"/>
</dataSource>
</environment>
</environments>
<mappers>
 <!--userMapper.xml装载进来  同等于把“dao”的实现装载进来 -->  
<mapper resource="entity/userMapper.xml" /></mappers>
</configuration>

1.environments决定加载哪种环境,包括数据源和事务管理器

MyBatis 可以配置多种环境。这会帮助你将 SQL 映射应用于多种数据库之中。例如,你也许为开发要设置不同的配置,测试和生产环境。或者你可能有多种生产级数据库却共享相同的模式,所以你会想对不同数据库使用相同的 SQL 映射。这种用例是很多的。要记得一个很重要的问题:你可以配置多种环境,但你只能为每个 SqlSessionFactory实例选择一。所以,如果你想连接两个数据库,你需要创建两个 SqlSessionFactory 实例,每个数据库对应一个。而如果是三个数据库,你就需要三个实例,以此类推。

注意这里的关键部分:
 默认的环境 ID(比如: default=”development”)。
 每个 environment 元素定义的环境 ID(比如: id=”development”)。
 事务管理器的配置(比如: type=”JDBC”)。
覆盖配置类
除了用插件来修改 MyBatis 核心行为之外,你也可以完全覆盖配置类。简单扩展它,
然后覆盖其中的任意方法,之后传递它到 sqlSessionFactoryBuilder.build(myConfig)方法
的调用。这可能会严重影响 MyBatis 的行为,所以要小心。
 数据源的配置(比如: type=”POOLED”)。默认的环境和环境 ID 是自我解释的。你可以使用你喜欢的名称来命名,只要确定默认
的要匹配其中之一。

2.transactionManager

在 MyBatis 中有两种事务管理器类型(也就是 type=”[JDBC|MANAGED]”
 JDBC – 这个配置直接简单使用了 JDBC 的提交和回滚设置。它依赖于从数据源得到的连接来管理事务范围。
 MANAGED – 这个配置几乎没做什么。它从来不提交或回滚一个连接。而它会让容器来管理事务的整个生命周期(比如 Spring 或 JEE 应用服务器的上下文)。默认情况下它会关闭连接。然而一些容器并不希望这样,因此如果你需要从连接中停止它,将 closeConnection 属性设置为 false。例如:
<transactionManager type="MANAGED">
<property name="closeConnection" value="false"/>
</transactionManager>
3. dataSsource

dataSource 元素使用基本的 JDBC 数据源接口来配置 JDBC 连接对象的资源。有三种数据源

  a.UNPOOLED-– 这个数据源的实现是每次被请求时简单打开和关闭连接。它有一点慢,这是对简单应用程序的一个很好的选择
driver-这是 JDBC驱动的 Java类的完全限定名(如果你的驱动包含的有,它也
不是数据源类)。
url这是数据库的JDBC URL地址。
username-登录数据库的用户名。
password-登录数据库的密码。
defaultTransactionIsolationLevel默认的连接事务隔离级别。作为可选项,你可以传递数据库驱动的属性。
driver.encoding=UTF8这 样 就 会 传 递 以 值 “UTF8” 来 传 递 “encoding” 属 性 , 它 是 通 过DriverManager.getConection(url,driverProperties)方法传递给数据库驱动。


  b.POOLED – 这是 JDBC 连接对象的数据源连接池的实现,用来避免创建新的连接实例时必要的初始连接和认证时间。这是一种当前 Web 应用程序用来快速响应请求很流行的方法。(略)
 c.JNDI – 这个数据源的实现是为了使用如 Spring 或应用服务器这类的容器,容器可以集中或在外部配置数据源,然后放置一个 JNDI 上下文的引用。这个数据源配置只需要两个属性.
initial_context – 这 个 属 性 用 来 从 初 始 上 下 文 中 寻 找 环 境 ( 也 就 是initialContext.lookup( initial——context))。这是个可选属性,如果被忽略,那么data_source 属性将会直接以 initialContext 为背景再次寻找。
data_source – 这是引用数据源实例位置的上下文的路径。它会以由 initial_context查询返回的环境为背景来查找,如果 initial_context 没有返回结果时,直接以初始上下文为环境来查找。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值