- 博客(5)
- 资源 (18)
- 收藏
- 关注
原创 Mybatis源码解读:executor包(主键自增功能)
欢迎关注本人公众号:executor执行器包作为mybatis的核心将其他各个包凝聚在一起,会调用配置解析包解析出配置信息,会依赖基础包提供的基础功能,最终executor包将所有的操作串连在一起,通过session包向外暴露出一套完整的服务。1.主键自增功能在进行数据插入操作时,经常需要一个自增生成的主键编号,这既能保证主键的唯一性, 又能保证主键的连续性。mybatis的executor包中的keygen子包提供主键自增功能。1.主键自增的配置与生效mybat...
2020-12-26 12:18:15 380
原创 mybatis源码解读:transaction包(事务管理功能)
欢迎关注本人公众号:mybatis的transaction包是负责进行事务管理的包,该包内包含2个子包:jdbc子包中包含基于jdbc进行事务管理的类,managed子包中包含基于容器进行事务管理的类。1.事务概述事务即数据库事务,是数据库执行过程中的一个逻辑单元。事务有以下4个特性: Atomicity(原子性):事务必须被作为一个整体执行,要么全部执行, 要么全部不执行。不允许只执行其中的一部分。 Consistency(一致性):事务应该保证数据库从一致性状态...
2020-12-20 18:19:58 1022
原创 mybatis源码解读:cursor包
欢迎关注本人公众号:1.游标的使用在使用mybatis进行数据库查询时,经常会查询到大量的结果。游标可以解决处理大量数据时不是一次读入整个结果集,而是逐一读入和处理结果,这样可以减少对内存的占用。在mybatis中使用游标进行查询非常简单,映射文件不需要任何的变动,只需要在映射接口中标明返回值类型是Cursor。Cursor<User> selectAll();2.游标接口cursor包中源码非常简单,只有一个cursor接口和默认的实现类Defa..
2020-12-20 18:17:57 3171
原创 mybatis源码解读:cache包(缓存机制)
1.缓存机制在进行源码阅读时,通常可以以包为单位进行,因为包本身就是具有一定结构、功能的类的集合,但是,也总会有一些功能相对复杂,会横跨多个包。因此以功能为主线一次阅读多个包中的源码是必要的,能帮助我们理清功能实现。mybatis基于cache包中提供的缓存实现了两级缓存机制。1.一级缓存mybatis的一级缓存又叫本地缓存,与它相关的配置项有2个。1.在配置文件XML的setting节点,可选项有session与statement,分别对应了一次会话和一条语句,一级缓存的默认范围是se
2020-12-16 22:17:12 395
原创 mybatis源码解读:cache包(缓存基本功能)
1.简述:Mybatis每秒可能要处理数万条数据库查询请求,而这些请求可能是重复的。缓存能够减低数据库查询次数,提升mybatis的性能。mybatis缓存使得每次数据库查询请求都会优先经过缓存系统的过滤,只有没有命中缓存的情况下才会去查询数据库。cache包就是mybatis缓存能力的提供者。2.cache包结构与cache包接口cache包是典型的装饰器模式应用案例,在impl包存放实现类,在decorators包中存放了众多的装饰器类。而cache接口是实现类和装饰器类的共同接口。
2020-12-13 17:13:26 738 1
springboot整合quartz,实现数据库方式执行定时任务
2021-11-19
springboot实现接口签名
2021-06-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人