Mybatis
头发阻挡了我对知识的吸收
还没秃的小菜鸡
头发阻挡了我对知识的吸收
展开
-
MyBatis 插件机制
MyBatis 插件机制我们应该了解MyBatis 允许哪些对象的哪些方法允许被拦截,并不是每一个运行的节点都是可以被修改的。只有清楚了这些对象的方法的作用,当我们自己编写插件的时候才知道从哪里去拦截。MyBatis 允许你在映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis 允许使用插件来拦截的方法调用包括:Executor 上层的对象,SQL 执行全过程,包括组装参数,组装结果集返回和执行SQL 过程(update, query, flushStatements, commit,原创 2020-12-25 07:56:46 · 127 阅读 · 0 评论 -
MyBatis 缓存机制
MyBatis 缓存机制缓存是一般的ORM 框架都会提供的功能,目的就是提升查询的效率和减少数据库的压力。跟Hibernate 一样,MyBatis 也有一级缓存和二级缓存,并且预留了集成第三方缓存的接口。MyBatis 跟缓存相关的类都在cache 包里面,其中有一个Cache 接口,只有一个默认的实现类PerpetualCache,它是用HashMap 实现的。除此之外,还有很多的装饰器,通过这些装饰器可以额外实现很多的功能:回收策略、日志记录、定时刷新等等。所有的缓存实现类总体上可分为三类:基本原创 2020-12-25 07:55:14 · 140 阅读 · 0 评论 -
MyBatis SQL执行过程
MyBatis SQL执行过程在单独使用 MyBatis 进行数据库操作时,我们通常都会先调用 SqlSession 接口的 getMapper 方法为我们的 Mapper 接口生成实现类。然后就可以通过 Mapper 进行数据库操作调用入口public <T> T getMapper(Class<T> type) { return configuration.<T>getMapper(type, this);}// -☆- Configuration原创 2020-12-25 07:54:02 · 184 阅读 · 0 评论 -
MyBatis 映射文件解析
MyBatis 映射文件解析概述MyBatis 的配置文件由 XMLConfigBuilder 的 parseConfiguration 进行解析,该方法依次解析了 、、 等节点。至于 节点,parseConfiguration 则是在方法的结尾对其进行了解析。该部分的解析逻辑封装在 mapperElement 方法中,下面来看一下:private void mapperElement(XNode parent) throws Exception { if (parent != null)原创 2020-12-25 07:51:35 · 228 阅读 · 0 评论 -
MyBatis 配置文件解析
MyBatis 配置文件解析传统JDBC弊端1、jdbc底层没有用连接池、操作数据库需要频繁的创建和关联链接。消耗很大的资源2、写原生的jdbc代码在java中,一旦我们要修改sql的话,java需要整体编译,不利于系统维护3、使用PreparedStatement预编译的话对变量进行设置123数字,这样的序号不利于维护4、返回result结果集也需要硬编码。ORM框架Mybatis介绍MyBatis is a first class persistence framework with su原创 2020-12-25 07:50:28 · 181 阅读 · 0 评论