09.MyBatisX插件介绍

[TOC]一、介绍MybatisX是一款基于 IDEA 的快速开发插件,方便在使用mybatis以及mybatis-plus开始时简化繁琐的重复操作,提高开发速率。使用MybatisX的好处节省大量持久层代码开发时间强大的功能为业务编写提供各类支持配置简单,告别各类复杂的配置文件MyBatisX插件用法:https://baomidou.com/pages/ba5b24/二、安装方法打开 IDEA,进入 File -> Settings -> Plugins -> Marketplace,输入 mybatisx 搜索并安装。注意:本人使用的IDEA版本是2022.3版本...

Java 2022-12-24 PM 1898℃ 0条

08.MyBatis-Plus多数据源

[TOC]一、概述目前在SpringBoot框架基础上多数据源的解决方案大多手动创建多个DataSource,后续方案有三种:继承org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource,使用AOP切面注入相应的数据源 ,但是这种做法仅仅适用单Service方法使用一个数据源可行,如果单Service方法有多个数据源执行会造成误读。通过DataSource配置 JdbcTemplateBean,直接使用 JdbcTemplate操控数据源。分别通过DataSource创建SqlSessionFactory并扫...

Java 2022-12-23 PM 1027℃ 0条

07.MyBatis-Plus通用枚举和代码生成器

[TOC]一、通用枚举1.1 概述MyBatis-Plus中提供了通用枚举,简单来说就是将数据库中的某一字段的代替的含义转换成真实的含义将数据读给用户,用户在存储时也会将真实值转换成代替的数字存入到数据库中。举个例子:用户性别在数据库中存储为1(表示男)、2(表示女)。在读取数据时就会自动将1、2值转换为男或女。这样做是可以有效地节省数据库的存储空间。1.2 添加字段在t_user表中,添加一个性别字段sex。默认值为1,其中存储的值1为男,2为女。将字段添加到is_deleted字段的后面。ALTER TABLE t_user ADD COLUMN sex int(1) NULL DE...

Java 2022-12-22 PM 972℃ 0条

06.MyBatis-Plus插件介绍

[TOC]一、MyBatis插件机制MyBatis插件就是对Executor、StatementHandler、 ParameterHandler、ResultSetHandler 这四个接口上的方法进行拦截,利用JDK动态代理机制,为这些接口的实现类创建代理对象, 在执行方法时,先去执行代理对象的方法,从而执行自己编写的拦截逻辑。接口说明接口说明Executor (update, query, flushStatements, commit, rollback, getTransaction, close, isClosed)MyBatis 的内部执行器,它负责调用 Statement...

Java 2022-12-21 PM 1440℃ 0条

05.MyBatis-Plus条件构造器和常用接口

[TOC]一、Wrapper条件构造器条件构造器wrapper就是用来封装CRUD方法参数条件的一个接口,其底层有很多的子类,最主要的就是最下面的四个子类:queryWrapper:可以用来删改查updateWrapper:可以在修改操作时不必创建实体类对象的操作LambdaQueryWrapper和LambdaUpdateWrapper:则是在字段参数的调用上进行了升级,其他都一样因为增删改查中的增加记录不需要条件即可完成,所以增加方法无需条件构造器wrapper,其他的删改查则是有这个条件构造器参数的。Wrapper : 条件构造抽象类,最顶端父类AbstractWrapper:用于...

Java 2022-12-20 PM 984℃ 0条

04.MyBatis-Plus常用注解

[TOC]一、@TableName经过以上的测试,在使用MyBatis-Plus实现基本的CRUD时,我们并没有指定要操作的表,只是在 Mapper接口继承BaseMapper时,设置了泛型User,而操作的表为user表。由此得出结论,MyBatis-Plus在确定操作的表时,由BaseMapper的泛型决定,即实体类型决定,且默认操作的表名和实体类型的类名一致。1.1 问题若实体类类型的类名和要操作的表的表名不一致,会出现什么问题?我们将表user更名为t_user,测试查询功能程序抛出异常,Table ‘mybatis_plus.user’ doesn’t exist,因为现在的表...

Java 2022-12-19 PM 937℃ 0条

03.MyBatis-Plus基本CRUD

[TOC]一、BaseMapper通用 CRUD 封装BaseMapper接口,为 Mybatis-Plus 启动时自动解析实体表关系映射转换为 Mybatis 内部对象注入容器泛型 T 为任意实体对象参数 Serializable 为任意类型主键 Mybatis-Plus 不推荐使用复合主键约定每一张表都有自己的唯一 id 主键对象 Wrapper 为 条件构造器public interface BaseMapper<T> extends Mapper<T> { /** * 插入一条记录 * * @param entity...

Java 2022-12-10 PM 798℃ 0条

02.MyBatis-Plus入门案例

[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 utf8mb4 */; use `mybatis_plus`; CREATE TABLE `user` ( `id` bigint(20) NOT NULL COMMENT '主键ID', ...

Java 2022-12-10 PM 703℃ 0条

01.MyBatis-Plus简介

[TOC]前言MyBatis最大的不足就是对于简单的单表操作没有提供一套开箱即用的通用持久化操作,这是最大的不足,而对于MyBatis自身功能不够丰富其实这点都可以通过其它方式来实现。一、概述MyBatis-Plus是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为了简化开发、提升效率而生。MyBatis-Plus提供了通用的mapper和service,可以在不编写任何SQL语句的情况下,快速的实现对单表的CRUD、批量、逻辑删除、分页等操作。二、MyBatis-Plus的特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自...

Java 2022-12-09 PM 629℃ 0条

06.MyBatis动态SQL介绍

[TOC]前言Mybatis框架的动态SQL技术是一种根据特定条件动态拼装SQL语句的功能,它存在的意义是为了解决 拼接SQL语句字符串时的痛点问题。动态 SQL 大大减少了编写代码的工作量,更体现了 MyBatis 的灵活性、高度可配置性和可维护性。一、动态SQL的元素MyBatis 的动态 SQL 包括以下几种元素,如下表所示元素作用备注if判断语句单条件分支判断choose(when、otherwise)相当于Java中的swith case语句多条件分支判断trim、where辅助元素用于处理一些SQL拼接问题foreach循环语句在in语句等列举条件常用bind辅助元素拼接参数...

Java 2022-12-08 PM 616℃ 0条