MyBatis
41 篇文章
mybatis
Mybatis-设计模式总结
虽然我们都知道有26个设计模式,但是大多停留在概念层面,真实开发中很少遇到,Mybatis源码中使用了大量的设计模式,阅读源码并观察设计模式在其中的应用,能够更深入的理解设计模式。 Mybatis至少…
Mybatis原理—SqlSession下的四大对象(Executor、StatementHandler、ParameterHandler和ResultSetHandler)
SqlSession下的四大对象介绍 通过前面的分析,我们应该知道在Mybatis中的,首先是通过SqlSessionFactoryBuilder加载全局配置文件(包括SQL映射器),这些配置都会封装…
Mybatis原理—Mapper接口的动态代理Sql执行过程
前面介绍了SqlSessionFactory和SqlSession的构建过程,然后就可以通过SqlSession来获取Mapper对象了,所以这章来学习Mapper接口是如何通过动态代理来创建对象的。…
Mybatis原理—SqlSession的构建过程
SqlSession的构建过程 在上一章,详细的介绍了SqlSessionFactory的构建过程,它是用来获取SqlSession对象的,所以本章节就主要讲述SqlSession的构建过程。 htt…
Mybatis原理—SqlSessionFactory的构建过程
Mybatis成员 Mybatis的运行分为两大部分: 一是SqlSessionFactory的创建过程,它主要是通过XMLConfigBuilder将我们的配置文件读取并且缓存到Configurat…
Mybatis—插入数据后返回自增主键ID
开发过程中我们经常性的会用到许多的中间表,用于数据之间的对应和关联.这个时候我们关联最多的就是ID,我们在一张表中插入数据后级联增加到关联表中.我们熟知的mybatis在插入数据后返回的是插入成功的条…
Mybatis-plus—kotlin代码生成
mybatis-plus 2.1.5 发布,新增 kotlin 代码生成 [v2.1.5] 2017.11.11 通用枚举 spring boot 兼容调整PostgreSQL 支持关键词非关键词转换…
Mybatis—手写脱敏插件
1. 前言 在日常开发中,身份证号、手机号、卡号、客户号等个人信息都需要进行数据脱敏。否则容易造成个人隐私泄露,客户资料泄露,给不法分子可乘之机。但是数据脱敏不是把敏感信息隐藏起来,而是看起来像真的一…
Mybatis-Plus—多数据源
特性 支持 数据源分组 ,适用于多种场景 纯粹多库 读写分离 一主多从 混合模式。支持数据库敏感配置信息 加密 ENC()。支持每个数据库独立初始化表结构schema和数据库database。支持 自…
Mybatis(Plus)—代码生成器
AutoGenerator 是 MyBatis-Plus 的代码生成器,通过 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Control…
Mybatis-Migraions使用
1. 下载 mybatis-migraions安装包,地址: https://www.oschina.net/news/94218/mybatis-migrations-3-3-2-released …
MybatisPlus—QueryWrapper、QueryChainWrapper、LambdaQueryWrapper以及LambdaQueryChainWrapper
前言:以前都是使用QueryWrapper的情况多一点,其余三种也没怎么涉及。 首先准备一个对应的实体类: @Data @TableName("house") public class HouseEn…
MyBatisPlus—分页查询以及自定义sql分页
一、引言 分页查询每个人程序猿几乎都使用过,但是有部分同学不懂什么是物理分页和逻辑分页。 物理分页:相当于执行了limit分页语句,返回部分数据。物理分页只返回部分数据占用内存小,能够获取数据库最新的…
Mybatis-Plus—Iservice与BaseMapper
MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 关于mybatis-plus中S…
MyBatis轻松实现递归查询与存储过程调用
项目中你是否会遇到这样的问题?菜单数据全写在一张表里,而我们需要用数组将这些数据存下来并交给前端大佬,问题的关键就是,我们怎么做才能将一级菜单数据—二级菜单数据—三级菜单数据······一一对应呢? …
MyBatis懒加载
1、需求:查询订单信息,有时候需要关联查出用户信息。 第一种方法:我们直接关联查询出所有订单和用户的信息 select * from orders o ,user u where o.user_id …
整合SSM框架
整合SSM 环境要求 环境: IDEAMySQL 5.7.19Tomcat 9Maven 3.6 要求: 需要熟练掌握MySQL数据库,Spring,JavaWeb及MyBatis知识,简单的前端知识…
Spring笔记14—整合MyBatis
整合MyBatis 步骤 1、导入相关jar包 junit <dependency> <groupId>junit</groupId> <artifactId>junit<…
MyBatis—一对多和多对一处理(另一个参考)
多对一的处理 多对一的理解: 多个学生对应一个老师如果对于学生这边,就是一个多对一的现象,即从学生这边关联一个老师! 数据库设计 CREATE TABLE `teacher` ( `id` INT(1…
MyBatis笔记3.1—使用注解开发
面向接口编程 大家之前都学过面向对象编程,也学习过接口,但在真正的开发中,很多时候我们会选择面向接口编程根本原因 :  解耦 , 可拓展 , 提高复用 , 分层开发中 , 上层不用管具体的实…
MyBatis笔记2.1—配置解析
核心配置文件 mybatis-config.xml 系统核心配置文件MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。能配置的内容如下: configuration(配…
Mybatis一对一、一对多、多对多查询(补充)
场景:使用三张数据表:student学生表、teacher教师表、position职位表 一个学生可以有多为老师、一位老师可以有多个学生、但是一个老师只能有一个职位:教授、副教授、讲师;但是一个职位可…
SpringBoot—MyBatis整合多数据源
关于多数据源的配置,前面有JdbcTemplate多数据源配置,那个比较简单,本文来说说MyBatis多数据源的配置。 其实关于多数据源,复杂的就直接上分布式数据库中间件,简单的再考虑多数据源。 工程…
SpringBoot—MyBatis整合
Spring Boot中最简单的数据持久化方案JdbcTemplate,JdbcTemplate虽然简单,但是用的并不多,因为它没有MyBatis方便,在Spring+SpringMVC中整合MyBa…
MyBatis笔记16—逆向工程
由于使用数据表时,我们需要给每一个表都创建对应的实体类,每个实体类都有对应的 Mapper 接口和 Mapper.xml 文件,这些其实都是一些重复的工作,我们可以通过第三方工具来完成。 MyBati…
MyBatis笔记15—查询缓存
Mybatis 一级缓存的作用域是同一个 SqlSession,在同一个 sqlSession 中两次执行相同的 sql 语句,第一次执行完毕会将数据库中查询的数据写到缓存(内存),第二次会从缓存中获…
MyBatis笔记14—一对多查询
一对多查询,也是一个非常典型的使用场景。比如用户和角色的关系,一个用户可以具备多个角色。 首先我们准备三个表: /* Navicat MySQL Data Transfer Source Server…
MyBatis笔记13—一对一查询
在实际开发中,经常会遇到一对一查询,一对多查询等。这里我们先来看一对一查询。 例如:每本书都有一个作者,作者都有自己的属性,根据这个,我来定义两个实体类: public class Book { pr…
MyBatis笔记12—动态 SQL
动态 SQL 动态 SQL 是 MyBatis 中非常强大的一个功能。例如一些常见的查询场景: 查询条件不确定批量插入…. 这些类似需求,我们都可以通过 MyBatis 提供的动态 SQL 来解决。 …
MyBatis笔记11—resultMap+分页
在实际开发中,resultMap 是使用较多的返回数据类型配置。因为实际项目中,一般的返回数据类型比较丰富,要么字段和属性对不上,要么是一对一、一对多的查询,等等,这些需求,单纯的使用 resultT…