MyBatis核心SqlSessionFactory的创建
2016-02-29 11:17
393 查看
SqlSessionFactory是每个MyBatis应用的核心
其实现方式有两种,使用配置文件或使用JAVA编码。
<?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="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${usern
4000
ame}" />
<property name="password" value="${password}" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="org/mybatis/example/BlogMapper.xml" />
</mappers>
</configuration>
使用时利用下面代码进行初始化
Java代码
String resource = "org/mybatis/example/Configuration.xml";
Reader reader = Resources.getResourceAsReader(resource);
SqlSessionFactory sqlMapper = new SqlSessionFactoryBuilder().build(reader);
DataSource dataSource = new PooledDataSource("com.mysql.jdbc.Driver",
"jdbc:mysql://localhost/mybatis?userUnicode=true&characterEncoding=utf8", "root", "mysql");
Environment environment = new Environment("test", new JdbcTransactionFactory(), dataSource);
Configuration configuration = new Configuration(environment);
configuration.addMapper(TestDao.class);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration);
生命同期问题
SqlSessionFactoryBuilder 是用过即丢,其生命周期只存在于方法体内
SqlSessionFactory 单例,存在于整合应用运行时
其实现方式有两种,使用配置文件或使用JAVA编码。
1.配置文件实现
Xml代码<?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="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${usern
4000
ame}" />
<property name="password" value="${password}" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="org/mybatis/example/BlogMapper.xml" />
</mappers>
</configuration>
使用时利用下面代码进行初始化
Java代码
String resource = "org/mybatis/example/Configuration.xml";
Reader reader = Resources.getResourceAsReader(resource);
SqlSessionFactory sqlMapper = new SqlSessionFactoryBuilder().build(reader);
2.使用编码实现
Java代码DataSource dataSource = new PooledDataSource("com.mysql.jdbc.Driver",
"jdbc:mysql://localhost/mybatis?userUnicode=true&characterEncoding=utf8", "root", "mysql");
Environment environment = new Environment("test", new JdbcTransactionFactory(), dataSource);
Configuration configuration = new Configuration(environment);
configuration.addMapper(TestDao.class);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration);
生命同期问题
SqlSessionFactoryBuilder 是用过即丢,其生命周期只存在于方法体内
SqlSessionFactory 单例,存在于整合应用运行时
相关文章推荐
- oracle rac 内核参数详解
- 检查ORACLE的警告文件的脚本
- mariadb-10.1主从复制
- SQL存储过程分页(通用的拼接SQL语句思路实现)
- oracle锁机制
- mongodb远程连接
- redis数据类型 - String
- 新的工作领域入门书籍整理
- Java 操作MongoDb 增删改查
- Microsoft SQL Server 自定义函数整理大全
- 一次性清空某个数据库中所有表数据的SQL
- Oracle 补丁下载地址
- oracle 统计表总数
- mysql常用命令操作
- mssql名词解释
- iOS数据持久化-sqlite3
- MySQL主从复制遇到错误的处理办法
- mysql 索引相关
- mysql主备库数据同步搭建
- SQL Server T-SQL高级查询,sql 查询集合