SpringCloud启动——MybatisPlus(MP)

目录

MybatisPlus

快速入门

前置步骤

代码演示

常用注解

常见配置

核心功能

条件构造器

自定义SQL

IService接口

基本用法

基本业务

复杂业务

IService接口中的Lambda方法

IService批量新增

扩展功能

代码生成

静态工具

逻辑删除

枚举处理器

JSON处理器

插件功能

分页插件

通用分页实体


b站上黑马程序员的课程笔记

MybatisPlus

对Mybatis框架的一个升级。但是它并不是来替代Mybatis这个技术的,而是互相搭配来干活的。

项目引入MybatisPlus不会对现有的工程产生影响,原来基于Mybatis的代码依然可以照常运行。

快速入门

之前我们已经学习过了Mybatis,不管是XML映射文件也好,还是自己在对应的方法上面用注解来写sql语句也好,它都需要我们自己写Sql语句,而使用MybatisPlus这些语句就完全可以不用自己写了。

前置步骤

使用MybatisPlus就要引入它的依赖:

BaseMapper<泛型:要操作的实体类的类型>接口中有很多方法,如下,很简单,看见名字就能知道他的用法。

代码演示

引入了MybatisPlus之后,UserMapper里面就可以什么都不用写,如下:(可以直接在Service中调用BaseMapper接口中的方法就能完成增删改查的操作)

MP是怎么实现增删改查的,我们还什么都没写,他怎么知道我们要访问哪张表呢?又是怎么知道表中有哪些信息呢?

常用注解

首先不用配置,但是要遵守约定:(命名要严格按照数据库中的字段名以及表明来命名,这样MybatisPlus才能识别)

如果不遵守约定:(如下注解,可以解决这个问题,变量前面有java底层会把is自动去掉,数据库关键字冲突(如order by))(IdType的类型:Auto自增长是数据库自动增长,Input是自己指定id,ASSIGN_ID是java来自动分配id;如果不指定类型,那么就默认是ASSIGN_ID雪花算法来得到id,所以必须指定id)

常见配置

第一个:作用是将来在定义mapper.xml里面的语句的时候,如果需要定义实体类的类型,那么他就不需要写全路径名了,直接写类的简化名就可以了。

第二个:指定xml文件地址,因为mp更擅长单表的查询,要是涉及到了多表查询,我们还是需要自己编写sql语句。

id_type:注解优先级大于这个全局配置的优先级。

目录:

核心功能

条件构造器

AbstractWrapper这个类提供了where后面的方法(比如等于、模糊匹配like等等),UpdateWrapper是更新,QueryWrapper是查询。

在测试类中,示例代码:(查询名字中带有o的,并且存款大于等于1000元的)

两个更新(1、把用户名为jack的人的存款改为2000。(用new了查询QueryWrapper类,因为没有用到updateWrapper类中的方法,只更新了一个)2、把id为1,2和4的人的存款减200)

除了这些,还有上面的图片中的,AbstractLamdaWrapper,LamdaUpdateWrapper以及LamdaQueryWrapper其实和这些类的方法以及用法都差不多,只不过我们刚才演示的这些代码属于硬编码。

代码示例

自定义SQL

前面条件构造器的写法,没有在mapper中获得数据,是在测试类中演示,等于说是在业务层service中来获得这个数据的。但是在有的企业开发中是不允许的,获取数据只能在mapper中,这时该怎么办呢?(如下where语句都很复杂,但是用mp自动生成就很简单一个或者两个方法就完成了,还有就是查询COUNT(id) AS total查询数量并且起别名mp就做不到了)这就需要自定义SQL来完成了。

代码示例:

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值