java-mybaits-00201-DAO-SqlSession使用范围
1.SqlSession的使用范围
1.1 SqlSessionFactoryBuilder
1.2 SqlSessionFactory
1.3 SqlSession
执行过程如下:
- 加载数据源等配置信息:Environment environment = configuration.getEnvironment();
- 创建数据库链接
- 创建事务对象
- 创建Executor,SqlSession所有操作都是通过Executor完成,mybatis源码如下:
if (ExecutorType.BATCH == executorType) {
executor = newBatchExecutor(this, transaction);
} elseif (ExecutorType.REUSE == executorType) {
executor = new ReuseExecutor(this, transaction);
} else {
executor = new SimpleExecutor(this, transaction);
}
if (cacheEnabled) {
executor = new CachingExecutor(executor, autoCommit);
}
- SqlSession的实现类即DefaultSqlSession,此对象中对操作数据库实质上用的是Executor
结论:
java-mybaits-00201-DAO-SqlSession使用范围的更多相关文章
- 浅谈:java泛型与dao重用
在进入今天的主题之前,我们先理解一下什么是泛型: 泛型是java中一种类型,泛型是被参数化的类型. 类型-->class 参数化-->class类型可以是任意参数 泛型存在的意义:泛型可以 ...
- Java学习之DAO设计模式
DAO设计模式是一个javaEE里的设计模式,DAO是Data Access Object 数据访问接口. 一个典型的DAO实现有三个组件: 1.一个DAO接口 2.一个DAO接口的具体类: 3.数据 ...
- Java (PO,VO,DAO,BO,POJO,DTO) 几种对象解释
1. PO:persistant object 持久对象 可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不包含任何对 ...
- Java SE 之 DAO层接口设计思想
用图说话 好处 1.只需要定义好IBaseDao的接口方法,并只需要实现BaseDaoImpl的方法,而具体的业务类和业务类/接口的方法的基本方法(IBaseDao已定义的)并不需要再考虑实现. 2. ...
- java service domain dao 分层思路
今天在开发项目的时候,对项目的java后台的分层有一些看法: 首先,鼓励使用service domain dao 层分层设计概念. 其次,对几层作用的理解: 第一:dao层操作单表,不涉及复杂逻辑,主 ...
- java中的dao模式
java中Dao模式 什么是DAO 1.Data Access Object(数据存取对象) 2.位于业务逻辑和持久化数据之间 3.实现对持久化数据的访问 DAO模式的作用 1隔离业务逻辑代码 ...
- java中的DAO设计模式
创建数据库和表 sql语句: DROP TABLE IF EXISTS product; CREATE TABLE product( product_id varchar(20) NOT NULL, ...
- Java Web Action DAO Service层次理解
参考来源:http://blog.csdn.net/inter_peng/article/details/41021727 1. Action/Service/DAO简介: Action是管理业务(S ...
- [刘阳Java]_Spring对Dao的支持_第10讲
Spring框架优秀就是在于MVC开发的时候一旦需要对底层的数据库操作,它可以很好的支持JDBC技术,还有现在主流的ORM框架(Hibernate, MyBatis)技术. 重点先介绍Spring对J ...
- JFinal提示:java.lang.RuntimeException: dao 只允许调用查询方法
public class UserModel extends Model<UserModel>{ public static final UserModel userDao = new U ...
随机推荐
- 浅谈cookie测试
Cookie 提供了一种在Web 应用程序中存储用户特定信息的方法,例如存储用户的上次 访问时间等信息.假如不进行cookie存储一个网站的用户行为,那么可能会造成以下问题:用户进行购买几件商品转到结 ...
- EasyTouch的使用官方文档操作步骤
对于移动平台上的RPG类的游戏,我们常用虚拟摇杆来控制人物角色的行走和一些行为,相信我们对它并不陌生,之前尝试了EasyTouch2.5,发现并没有最新版的3.1好用,2.5版本的对于自适应没有做的很 ...
- python2.0_s12_day9_mysql操作
mysql的基本语法: 1.数据库操作 show databases; create database 数据库名;如果想允许数据库可以写中文create database 数据库名 charset u ...
- laravel 查询构建器(连贯操作)
注:laravel 查询返回行的都是 php 的 stdClass 对象实例,不是数组!!!! 1)查询多行(get) DB::table('table_name')->get(); 带偏移和限 ...
- 查看进程动态:top
top命令用于查看进程动态,即进程使用系统资源的情况,常见用法如下: [root@localhost ~]$ top # 动态查看进程使用资源的情况,每三秒刷新一次 [root@localhost ~ ...
- Unity导入FBX自动进行动画切分
手动处理动画分割 在导入FBX模型过程中,若带有动画呢,需要对它进行切分. 当然这个工作可以在Unity中完成. 比如: 这样手动来分割进行. 自动动画切分 这就需要代码了. 把代码保存成cs文件 ...
- Android 使用Spinner实现下拉列表
课程目标1.了解Spinner下拉列表的使用和功能2.学会使用系统默认的Spinner3.学会使用自定义样式的Spinner 执行步骤第一步:添加一个下拉列表项的list,这里添加的项就是下拉列表的菜 ...
- 优秀的PHP开发者是怎样炼成的?
4.在数据库中避免使用联合操作 比起其它的Web编程语言来说,PHP的数据库功能十分强大.但是在PHP中数据库的运行仍然是一件十分费时费力的事情,所以,作为一个Web程序员,要尽量减少数据库的查询操作 ...
- PHP面向对象 实例化 构造函数 封装 继承 静态
PHP面向对象 实例化 构造函数 封装 继承 静态 面向对象: 一:定义类 class Dog { var $name; var $age; var $pinzhong; function Jiao( ...
- JS-在线运行代码小工具
原理:window.open()方法,open一个新的空白页,然后把文本框中粘贴的代码通过DOM操作,写到新的代码页中, 再利用document.write的功能(写进去之前把其他的全部删掉,并且写进 ...