[TOC]一、介绍MybatisX是一款基于 IDEA 的快速开发插件,方便在使用mybatis以及mybatis-plus开始时简化繁琐的重复操作,提高开发速率。使用MybatisX的好处节省大量持久层代码开发时间强大的功能为业务编写提供各类支持配置简单,告别各类复杂的配置文件MyBatisX插件用法:https://baomidou.com/pages/ba5b24/二、安装方法打开 I...
[TOC]一、概述目前在SpringBoot框架基础上多数据源的解决方案大多手动创建多个DataSource,后续方案有三种:继承org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource,使用AOP切面注入相应的数据源 ,但是这种做法仅仅适用单Service方法使用一个数据源可行,如果单Service方法有多个数...
[TOC]一、通用枚举1.1 概述MyBatis-Plus中提供了通用枚举,简单来说就是将数据库中的某一字段的代替的含义转换成真实的含义将数据读给用户,用户在存储时也会将真实值转换成代替的数字存入到数据库中。举个例子:用户性别在数据库中存储为1(表示男)、2(表示女)。在读取数据时就会自动将1、2值转换为男或女。这样做是可以有效地节省数据库的存储空间。1.2 添加字段在t_user表中,添加...
[TOC]一、MyBatis插件机制MyBatis插件就是对Executor、StatementHandler、 ParameterHandler、ResultSetHandler 这四个接口上的方法进行拦截,利用JDK动态代理机制,为这些接口的实现类创建代理对象, 在执行方法时,先去执行代理对象的方法,从而执行自己编写的拦截逻辑。接口说明接口说明Executor (update, quer...
[TOC]一、Wrapper条件构造器条件构造器wrapper就是用来封装CRUD方法参数条件的一个接口,其底层有很多的子类,最主要的就是最下面的四个子类:queryWrapper:可以用来删改查updateWrapper:可以在修改操作时不必创建实体类对象的操作LambdaQueryWrapper和LambdaUpdateWrapper:则是在字段参数的调用上进行了升级,其他都一样因为增删...
[TOC]一、@TableName经过以上的测试,在使用MyBatis-Plus实现基本的CRUD时,我们并没有指定要操作的表,只是在 Mapper接口继承BaseMapper时,设置了泛型User,而操作的表为user表。由此得出结论,MyBatis-Plus在确定操作的表时,由BaseMapper的泛型决定,即实体类型决定,且默认操作的表名和实体类型的类名一致。1.1 问题若实体类类型的...
[TOC]一、BaseMapper通用 CRUD 封装BaseMapper接口,为 Mybatis-Plus 启动时自动解析实体表关系映射转换为 Mybatis 内部对象注入容器泛型 T 为任意实体对象参数 Serializable 为任意类型主键 Mybatis-Plus 不推荐使用复合主键约定每一张表都有自己的唯一 id 主键对象 Wrapper 为 条件构造器public interf...
[TOC]一、环境准备1.1 开发环境IDE:idea 2018.3JDK:JDK8+构建工具:maven 3.5.4MySQL版本:MySQL 5.7Spring Boot:2.7.6MyBatis-Plus:3.5.11.2 创建数据库及表(1)创建数据库及表CREATE DATABASE `mybatis_plus` /*!40100 DEFAULT CHARACTER SET utf...
[TOC]前言MyBatis最大的不足就是对于简单的单表操作没有提供一套开箱即用的通用持久化操作,这是最大的不足,而对于MyBatis自身功能不够丰富其实这点都可以通过其它方式来实现。一、概述MyBatis-Plus是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为了简化开发、提升效率而生。MyBatis-Plus提供了通用的mapper和service,可以在不编...