一.初始wrapper

wrapper翻译为包装的意思,在执行mysql语句的时候,面对繁琐的条件语句(where,order by),我们不妨把这些条件都包装在一个类里,最后执行的时候优先级c语言进行自动拼接。使用Wrapper虽然会使sql语句可读性减低,但可以让sql语句易于修改

MybatisPlus---条件构造器和常用接口

可以看到所有箭头最终归于到Wrapper,

  • Wrapmysql数据库per : 条件构造抽象类,最顶端父类
  • AbstractWramysql数据库命令大全pper : 用于查询条件封装,生成 sql 的 where 条件
  • QueryWrapper : 查询条件封装 UpdateWrapper : Update 条件封装
  • AbstractLambdaWrapper : 使用Lambda 语法 LambdaQueryWrapper :用于Lambda语法使用的查询Wrapper
  • LambdaUpdateWrapper : Lambda 更新封装Wrapper
  • updateWrapper:U优先级英文pdate 条件封装

MybatisPlus---条件构造器和常用接口
三个方法中的形参都有需要优先级越小越优先吗对应apple类的条件构造器

二.Wrapappearanceper用法实解优先级

一.QueryWrapper

1.组装查询条件

MybatisPlus---条件构造器和常用接口
这里的between可以也可以用 gtmysql数据库(大于)、ge(大于等于)、lt(小于)、le(小于等于)的方法来优先级代替

MybatisPlus---条件构造器和常用接口

注意:自定义条件构造器时,拼接sql语句时会自动加上and,如果要加上or的话,需要手mysql怎么读动添加

Preparing:

SELECT cat_id,cat_name,gender实体类图,peculiarity,status,place,avatar,is_approachdeleted FROM cat WHERE is_deleted=0 AND (cat_name LImysql数据库命令大全KEmysql怎么读 ? AND cat_id >= ? AND cat_id <= ? AND avata实体类r IS NOT NULL)

Parameters: %12%(String), 50(I优先级是什么意思nteger), 60(Integer)

Total: 0

2.组装删除条件 删除条件依旧用的是queryWrapper

MybatisPlus---条件构造器和常用接口

3.条件的优先级

已知and的优先级大于or优先级表,当我们单独在条件构造器中使用一优先级个or时,会将or前后的条件逐一判断出来,最后mysql安装配置教程两两对比。appetite

MybatisPlus---条件构造器和常用接口

queryMapper中的and方法里也可以添加一个条件构造器,在andappointment里我们用一个lambda表达式, 最后在执行sql中会优先执行lambda中的条件判断,因为执行过程中在lambda里的条件判断会加上一对括号

MybatisPlus---条件构造器和常用接口

MybatisPlus---条件构造器和常用接口
4.组装select语句

在实际开发有些地方并不需要用到全部的优先级是什么意思数据,这时我们可以自定义选择需要approach查询的字段,来减少无用的数据产生 selectList和selectMamysql安装ps均可实现以上功能,不同的是,selectList会将字段对应的属性返回,你没有设置的要查询的字段会自动给你赋值为nu优先级队列ll,而selectMaps不会。同时返回值也不一样,前者返回的是List,后者为Map

queryWrapper中select方法

MybatisPlus---条件构造器和常用接口

selectList

MybatisPlus---条件构造器和常用接口

smysql数据库electMap

MybatisPlus---条件构造器和常用接口

5.实现子查询

在insql方法,添加sql语句以及限制条件的字段

SELECT cat_id,cat_name,gender,peculiarity,status,place,avatar,is_deleted FROM cat WHERE is_deleted=0 AND (cat_id IN (select cat_id wheMySQLre cat_id>50))

MybatisPlus---条件构造器和常用接口

二.UpdateWrapper

做数据修改时,我们用到UpdateWrapper,APP并使用其set方法来实现修改,set之间会自动拼接上and,条件语句自动mysql怎么读拼接where,这里没有实体类,便在update的entity参数位置设优先级越小越优先吗置null。

MybatisPlus---条件构造器和常用接口

在此之前我们依旧可以用QueryMapper来实现修改功能,不过要创建一个对象,将要修改的值放到对象中,会有些麻烦

MybatisPlus---条件构造器和常用接口

三.condition

在真正开发的过程MySQL中,组装条件是常见的功能,而这些条件数据来源于用户输入,是可选的,因 此我们在组装这些条件时,必须先判断用appetite户是否选择了这些条件,若选择则需要组装该条件,若 没有选择则一定不能组装,以免影响SQL执行的结果

第一种方法

MybatisPlus---条件构造器和常用接口

上面的实现方案没有问题,但是代码比较复杂,我们可以使用带condition参数的重载方法构建查 询条件,简化代码的编写

第二种方法

MybatisPlus---条件构造器和常用接口

四.LambdaQueryWrapper

MybatisPlus---条件构造器和常用接口

五、LambdaUpdateWrapper

MybatisPlus---条件构造器和常用接口