MyBatis可以拥有多个环境,即一个项目可以连接多个数据库,不过在创建这些数据库的同时需要注意的是:一个数据
库对应一个SqlSessionFactory,也就是说你有两个数据库需要连接,那么就要有两个SqlSessionFactory。三个就要有三
个SqlSessionFactory。
transactionManager
MyBatis有两种事务管理:
1)JDBC:单纯的使用JDBC式的提交和回滚。它依赖于从数据连接池中取回的Connection连接来管理事务的范围。
2)MANAGED:这个设置几乎不做什么,它从不提交也不回滚。反之,它让容器管理整个事务的生命周期。它默认的是关
闭了数据库连接,但是有些容器却没有这么做,因此,最好添加一个参数,手动关闭数据库连接:
注意:如果你是用Spring 来管理MyBatis,那么这里就不需要transactionManager。因为,Spring有一个自带的默认的
事务管理器。
不管这些事务管理器是否需要参数,它们本质上都是TypeAliases,换句话说,你可以通过java类来实现自己的事务管理器。
datasource
三种内建的数据源类型:
1)UNPOOLED:被请求时简单打开和关闭数据库连接,速度慢
2)POOLED:这是 JDBC 连接对象的数据源连接池的实现,用来避免创建新的连接实例 时必要的初始连接和认证时间。
这是一种当前 Web 应用程序用来快速响应请求很流行的方法
3)JNDI:为了容器而准备的或是集中配置
databaseIdProvider
配置不同数据库的不同SQL,根据数据库引擎来决定。
mappers
定义SQL映射语句,MyBatis有三种方式可以查找到SQL语句。
1)resource:
2)url:
3)class:
<mappers>
<mapper class="net.mybatis.mapper.UserMapper"/>
<mapper resource="net/mybatis/mapper/user.mapper.xml"/>
<mapper url="file:///src/net/mybatis/mapper/user.mapper.xml"/>
</mappers>
上述为三种方式的具体使用方法