一、简介前面一篇文章我们对Mybatis整体的执行流程做了一个详细的总结,可进入专栏查看;本篇文章我们将分析一下配置信息是如何解析的以及SqlSessionFactory创建过程。二、配置信息解析过程下面我们通过Debug方式点查看Mybatis如何获取配置文件://1、读取配置文件 String resource = "mybatis-config.xm ......
180
0
0
2024-02-21
一、概述前面一篇文章我们已经搭建好了Mybatis的源码调试环境,那么今天我们先来看看MyBatis整体的执行流程是怎样的,先对整体有个了解,后面我们再针对各个细节进行分析。在分析执行流程之前,我们先对Mybatis中几个核心类做个简单的介绍。二、Mybatis核心类Mybatis核心类主要有下面几个:SqlSessionFactory每个基于 MyBati ......
213
0
0
2024-02-21
一、简介使用Mybatis有一段时间了,但是一直没有专门去阅读MyBatis框架的源码,Mybatis是一个非常值得我们去阅读的框架,源码里面运用了很多常见的设计模式,如构建者模式、代理模式、模板方法模式等等,都值得我们去学习和借鉴。下面我们就以搭建一个源码阅读环境开始,一起来看看Mybatis的源码。MyBatis 是一款优秀的持久层框架,它支持自定义 S ......
172
0
0
2024-02-21
1. 注解 开发 我们也可以使用注解的形式来进行开发,用注解来替换掉xml。 使用注解来映射简单语句会使代码显得更加简洁,但对于稍微复杂一点的语句, Java 注解不仅力不从心,还会让你本就复杂的 SQL 语句 更加混乱不堪。 所以我们在实际企业开发中一般都是使用XML的形式。 ​ 1.1 步骤①在核心配置文件中配置mapper接口所在的包名 xml & ......
256
0
0
2024-01-25
Bean Searcher 号称 任何复杂的查询都可以 一行代码搞定,但 Mybatis Plus 似乎也有类似的动态查询功能,它们有怎样的区别呢?区别一(基本)Mybatis Plus 依赖 MyBatis, 功能 CRUD 都有,而 Bean Seracher 不依赖任何 ORM,只专注高级查询。只有使用 MyBatis 的项目才会用 Mybatis P ......
191
0
0
2024-01-09
一. 背景 在平常的开发中,我们可能会有这样的需求: 业务数据在存储的时候,并不是以 mysql 中的 varchar 丶 int 等格式来存储的,而是使用 JSON 格式. 这样做的好处是当数据结构有变化或者需求变化时,我们不用再添加字段,方便扩展. 那么mysql中 json 格式的数据我们使用 mybatis 或者myb ......
386
0
0
2023-12-10
推荐学习前言 MyBatis可能很多人都一直在用,但是MyBatis的SQL执行流程可能并不是所有人都清楚了,那么既然进来了,通读本文你将收获如下: 1、Mapper接口和映射文件是如何进行绑定的2、MyBatis中 sql语句 的执行流程3、自定义MyBatis中的参数设置处理器typeHandler4、自定义MyBatis中结果集处理器typeHandl ......
233
0
0
2023-10-19
前言Mybatis 是 Java 开发中比较常用的 ORM 框架。在日常工作中,我们都是直接通过 Spring Boot 自动配置,并直接使用,但是却不知道 Mybatis 是如何执行一条 SQL 语句的,而这篇文章就是来揭开 Mybatis 的神秘面纱。基础组件我们要理解 Mybatis 的执行过程,就必须先了解 Mybatis 中都有哪一些重要的类, ......
244
0
0
2023-10-12
1-5 MyBatisPlus集成 接下来我们完成一个品牌的CRUD操作、我们会集成MyBatisPlus来实现。 1、MyBatis Plus介绍 MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 MyBatis Plus特性: 无侵入 :只做增强不做 ......
361
0
0
2023-10-07
单表查询3种方式详解 一对一关联查询(4种方式)详解 一对多查询(2种方式)详解 综合案例 总结 建议 源码 建库建表创建一个数据库: javacode2020 4张表: t_user(用户表) t_goods(商品表) t_order(订单表) t_order_detail(订单明细表) 表之间的关系: t_order和t ......
333
0
0
2023-09-24
推荐阅读 缓存是什么? 缓存其实就是存储在内存中的临时数据,这里的数据量会比较小,一般来说,服务器的内存也是有限的,不可能将所有的数据都放到服务器的内存里面,所以, 只会把关键数据放到缓存中,缓存因为速度快,使用方便而出名! 为什么需要缓存BS架构里面,用户的所有操作都是对数据库的增删改查,其中查询的操作是最多的,但如果用户想要某个数据时每次都去数据库查询, ......
252
0
0
2023-09-18
文章大致思路: 一、反射是什么?Java 反射机制 是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种 动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制 。不过要想解剖一个类,就要先获取到该类的 字节码 文件对应的Class类型的对象.稍后就会讲到~” 反射之所以被 ......
334
0
0
2023-09-17
前言今天给大家带来三个有深度的 Java 学习视频,在学习Java的进阶之路上,只需10分钟轻松Get教学视频的核心要点。 正文一、 mybatis 视频介绍文字内容:本视频由张阿荣老师讲解,主讲课程为Mybatis框架。 这门课程有两门前驱的课: JavaSE 和 Javaweb ,后继还有 Spring 框架和SpringMVC框架, 微服务 ......
263
0
0
2023-09-17
Mybatis实现一对一、一对多关联查询,关联查询:多个表联合查询,只查询一次,通过resultMap里面的<association>、<collection>标签配置一对一、一对多。本篇文章涉及的一对一、一对多关系班级classes、班主任teacher是一对一的关系班级classes、学生student是一对多的关系使用IDEA快 ......
242
0
0
2023-09-13
目录Mybatis的简单介绍1 环境搭建2 整合方式一:注解版2.1 配置2.2 编码2.3 测试3 整合方式二:XML版3.1 配置3.2 编码3.3 测试4 总结Mybatis的简单介绍​ MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code ......
279
0
0
2023-09-11