MyBatis执行器
2024-10-19 07:46:33
Mybatis的执行器
下面先展示一张图,用来说明一下Mybatis执行器的整体架构
SimpleExecutor
首先SimpleExecutor是我们最常使用的一个执行器,无论我们执行什么方法默认调用的都是SimpleExecutor
下面是基本使用,这里可能会比较懵了,哪里来的configuration,doQuery,RowBounds,ResultHandler,BoundSql
在这里我来一一解释
SimpleExecutor simpleExecutor = new SimpleExecutor(configuration, transaction);
MappedStatement ms = configuration.getMappedStatement("com.guan.ibatis.mapper.UserMapper.queryUsersInfo");
BoundSql boundSql = ms.getBoundSql(null);
List<User> users = simpleExecutor.doQuery(ms, null,
RowBounds.DEFAULT, SimpleExecutor.NO_RESULT_HANDLER, boundSql);
users.forEach(System.out::println);
- configuration我们读取配置文件使用SqlSessionFactoryBuilder来构建,而配置文件(Mybatis-config.xml)解析后就会将解析完的所有数据放到一个名为Configuration的类里面,我们的一些操作,比如设置Setting,设置数据源,设置映射文件,都可以通过
new Configuration()
来进行配置,而获取Configuration的实力,只需要我们SqlSessionFactoryBuilder.build()所创建的SqlSessionFactory就可以获取Configuration了--->SqlSessionFactory.getConfiguration()
- doQuery是BaseMapper的一个抽象方法,分别由三个子类进行实现,是最基本的查询方法,无论调用什么查询方法都会调用doQuery这个方法
- RowBounds分页条件,我们可以new RowBounds()来自定义分页条件,而RowBounds.DEFAULT就是new一个0-Integer.MAX_VALUE的RowBounds
- ResultHandler结果处理器
- BoundSql我们编写的sql语句,获取方法:
ms.getBoundSql()
没有参数就可以传null - ms就是MappedStatement获取我们对应方法的属性,参数为statementid(包名.类名.方法名)
最新文章
- 各种Android手机Root方法
- [转载] 使用MySQL Proxy解决MySQL主从同步延迟
- 选择排序(java版)
- GitHub之创建
- Linux一
- 一个简单而经典的RTX51 Tiny应用实例
- 一起来学Go --- (go的枚举以及数据类型)
- [Egret]长按图片分享、分享图片、本地存储
- python并发编程之多进程(二):互斥锁(同步锁)&;进程其他属性&;进程间通信(queue)&;生产者消费者模型
- 在Windows上安装配置MongoDB
- python&;JSONP(Jquery篇)
- Luogu3605 [USACO17JAN]Promotion Counting晋升者计数
- [C]gcc编译器的一些常用语法
- 团队冲刺--Seven
- Android——手机尺寸相关的概念 +尺寸单位+关于颜色
- 利用arcgis制作出 源解析要用的ASCII文件
- iOS UITableView划动删除的实现
- su切换用户报错cannot set user id: Resource temporarily unavailable
- 【java】字符串的反转
- Zabbix配置微信报警通知
热门文章
- C#入门到精通系列课程——第2章编写C#程序
- Spring Cloud Alibaba(6)---Nacos持久化Mysql8.0版本
- Docker学习笔记---通俗易懂
- Xposed框架Hook Android应用的所有类方法打印Log日志
- UVA11388GCD LCM
- C#-几个STL相关
- 【easyUI】取消easyui行点击选中事件,智能通过勾选checkbox才能选中行
- python中的xlrd模块学习
- Django(2)python虚拟环境virtualenvwrapper
- Mybatis学习之自定义持久层框架(三) 自定义持久层框架:读取并解析配置文件