在这里<?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 default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:XE"/>
<property name="username" value="SCOTT"/>
<property name="password" value="TIGER"/>
</dataSource>
</environment>
</environments>
<!--子配置文件-->
<mappers>
<mapper resource="com/zks/dao/EmpMapper.xml"/>
</mappers>
</configuration>插入代码片
configation这个标签表示下面是配置信息。
environments这个标签下代表一下是jdbc的一些配置信息,有default这个属性,表示默认设置哪套jdbc开发环境
environemt这个标签下就是一套jdbc的开发环境.比如这是开发环境,然后再配一套实际使用时候的环境。
transactionManager type="[JDBC|MANAGED]",一般是jdbc表示事务管理托管给数据库本身。
dataSource type=“POOLED"有三种内建的数据源类型(也就是 type=”[UNPOOLED|POOLED|JNDI]")这里使用的是pooled数据库链接池。
尽管可以配置多个环境,但每个 SqlSessionFactory 实例只能选择一种环境。
所以,如果你想连接两个数据库,就需要创建两个 SqlSessionFactory 实例,每个数据库对应一个。而如果是三个数据库,就需要三个实例,依此类推,记起来很简单:
public class MyBatiesUtils {
//声明一个sqlSession的工厂
private static SqlSessionFactory sqlSessionFactory=null;
static{ //加载配置文件
try {
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
//尽管可以配置多个环境,但每个 SqlSessionFactory 实例只能选择一种环境,这里默认的是配置环境中environments中default指定的环境,创建一个mybatis的链接工厂
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 封装好了,在主程序中调用即可获得数据库的链接
* @return
*/
public static SqlSession getSqlSession(){
return sqlSessionFactory.openSession();
}
}