持久层框架
文章平均质量分 91
我们一直在路上
这个作者很懒,什么都没留下…
展开
-
MyBatis整合Spring原理分析
http://mybatis.org/spring/zh/index.html我们先来实现MyBatis和Spring的整合操作。1.2 配置文件我们将MyBatis整合到Spring中,那么原来在MyBatis的很多配置我们都可以在Spring的配置文件中 设置,我们可以给MyBatis的配置文件设置为空添加Spring的配置文件,并在该文件中实现和Spring的整合操作2.整合Spring的原理把MyBatis集成到Spring里面,是为了进一步简化MyBatis的使用,所以只是对MyBa原创 2022-07-14 16:27:13 · 855 阅读 · 0 评论 -
Mybatis插件的原理
我们创建的拦截器必须要实现Interceptor接口,Interceptor接口的定义为在MyBatis中Interceptor允许拦截的内容是1.2 配置拦截器创建好自定义的拦截器后,我们需要在全局配置文件中添加自定义插件的注册2.插件实现原理2.1初始化操作首先我们来看下在全局配置文件加载解析的时候做了什么操作。进入方法内部可以看到具体的解析操作该方法用来解析全局配置文件中的plugins标签,然后对应的创建Interceptor对象,并且封装对应的 属性信息。最后调用了Configu原创 2022-07-13 17:14:46 · 785 阅读 · 0 评论 -
MyBatis基础模块解析
基础支持层位于MyBatis整体架构的最底层,支撑着MyBatis的核心处理层,是整个框架的基石。基础支持层中封装了多个较为通用的、独立的模块。不仅仅为MyBatis提供基础支撑,也可以在合适的场景中直接复用。MyBatis在进行参数处理、结果集映射等操作时会使用到大量的反射操作,Java中的反射功能虽然强大,但是代码编写起来比较复杂且容易出错,为了简化反射操作的相关代码,MyBatis提供了专门的反射模块,该模块位于org.apache.ibatis.reflection包下,它对常见的反射操作做了进一原创 2022-07-13 15:40:44 · 424 阅读 · 0 评论 -
Mybatis的体系结构与核心工作原理分析
接下来我们就开始MyBatis的源码之旅,首先大家要从宏观上了解Mybatis的整体框架分为三层,分别是基础支持层、核心处理层、和接口层。如下图MyBatis的主要工作流程图首先接口层是我们打交道最多的。核心对象是SqlSession,它是上层应用和MyBatis打交道的桥梁,SqlSession上定义了非常多的对数据库的操作方法。接口层在接收到调用请求的时候,会调用核心处理层的相应模块来完成具体的数据库操作接下来是核心处理层。既然叫核心处理层,也就是跟数据库操作相关的动作都是在这一层完成的。 核心处原创 2022-07-08 22:28:22 · 468 阅读 · 0 评论 -
mybatis-什么是mybatis一级缓存
一、什么是mybatis的一级缓存?当我们执行相同的sql语句时,mybatis会先查询一级缓存.(二级缓存开启时,会先走二级)减少db访问次数,提升效率.它是session级别的缓存,生命周期是一次会话.session关闭,一级缓存就失效了.二、通过代码,看现象1.通过相同的session,和不同的sesssion去访问数据库. /** * 测试一级缓存需要先关闭二级缓存,localCacheScope设置为SESSION * @throws IOException原创 2020-05-15 17:12:53 · 918 阅读 · 0 评论 -
mybatis-批量修改数据mapper怎么写
一、mysql中的批量修改语句怎么写表结构CREATE TABLE `blog` ( `bid` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `author_id` int(11) DEFAULT NULL, PRIMARY KEY (`bid`)) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;sql语句update blogse原创 2020-05-11 23:52:53 · 2443 阅读 · 0 评论 -
mybatis-怎么实现自己的TypeHandler
一、小需求我们需要将java中的list类型转化成为字符串转化成string 保存到数据库比如集合中[1,2,3,4] 数据库中的保存成 1,2,3,4二、代码实现package com.gupaoedu.type;import org.apache.ibatis.type.BaseTypeHandler;import org.apache.ibatis.type.JdbcType;import org.apache.ibatis.type.MappedJdbcTypes;import原创 2020-05-11 17:13:17 · 188 阅读 · 0 评论 -
mybtais-为什么使用mybatis
一、JDBC编程有哪些问题方法是向blog表中查询一条数据 @Test public void testJdbc() throws IOException { Connection conn = null; Statement stmt = null; Blog blog = new Blog(); try { // 注册 JDBC 驱动 // Class.forName("com.m原创 2020-05-11 15:50:36 · 147 阅读 · 0 评论 -
手撸ORM框架
手写ORM框架学习目的githup源代码地址MiniORM 结构设计MiniORM 框架的代码实现MiniORM 框架的测试使用结尾学习目的大家都知道,现在在java市场上,比较流行的持久层框架无非就是mybatis和hibernate.而他们实现的无非就是借助orm思想(说白了就是实体类和数据库字段建立映射关系),这次我们将用这个思想实现自己的小orm框架,主要就是真正的去理解orm思想....原创 2019-06-04 23:55:00 · 645 阅读 · 0 评论