有关mybatis-plus queryWrapper、updateWrapper(1)

最近,同事新增一个项目使用springboot+mybatis-plus的使用,对于queryWrapper,updateWrapper这一系列的构造器有些迷糊,为了更好的说明使用的方式 我在这篇博客中简单简述一下。

1.构造器的关系

 2.函数相关说明

函数名说明例子
eq等于==例:eq("age",10)---> age = 10
ne不等于 <>例:ne("age",10)---> age <> 10
gt大于 >例:gt("age",10)---> age > 10
ge大于等于  >=例:ge("age",10)---> age >= 10
lt小于 <例:lt("age",10)---> age < 10
le小于等于 <=例:le("age",10)---> age < = 10
between between  *  and  *例:between("age",10,20)---> age between 10 and 20
notBetweenNot  between  *  and  *例:notBetween("age",10,20)---> age not between 10 and 20
likelike '%XX%'例:like("name","徐") ---> name like "%徐%"
notLikeNot like '%XX%'例:notLike("name","徐") ---> name not like "%徐%"
likeLeftlike '%XX%'例:likeLeft("name","徐") ---> name like "%徐"
likeRightlike '%XX%'例:likeRight("name","徐") ---> name like "徐%"
isNull字段 is null例:isNull("name") --->name  is null
isNotNull字段 is  not null例:isNotNull("name") --->name  is not  null
in字段 in (XX,xx,x)例:in ("age",{1,2,3})---> age in (1,2,3)
notIn字段  not in (XX,xx,x)例:notIn("age",{1,2,3})---> age not  in (1,2,3)
inSql字段  in (sql 语句)

例:inSql("id", select id from student where id <3 ) --->

id in ( select id from student where id <3)

notInSql字段 not in (sql 语句)例:notInSql("id", select id from student where id <3 ) --->

id not in ( select id from student where id <3)

groupBy分组:group by例:groupBy("id","name") --->group By id ,name
orderByAsc排序:order by 字段 ,.. Asc例:orderByAsc("id","name") --->order By id ,name    Asc
orderByDesc排序:order by 字段 ,.. desc例:orderByDesc("id","name") --->order By id ,name    desc
orderBy排序:order by 字段 ,..例:orderBy(true,true,"id","name") --->order By id asc , name    sc
havingHAVING(sql 语句)例:having("sum(age) > {0}",11) ---> -having sum(age) > 11
or拼接 or

例:

eq("age",10).or.eq("age",11) ---> age= 10  or age = 11

 

and and 嵌套例:
last无视优化规则直接拼接到 sql 最后例:
exists拼接 exists (sql 语句)例:
notexists拼接 not exists (sql 语句)例:
nested正常嵌套 不带 and  或者 or例:
apply拼接 sql

例:apply("date_format(create_time,'%Y-%m-%d')={0}, "2020-01-17")--------->

date_format(create_time,'%Y-%m-%d')="2020-01-17"

   
   

 

MyBatis-PlusMyBatis的增强工具,其中包括了Wrapper来进行复杂查询。 Wrapper是MyBatis-Plus提供的一种查询条件构造器,它可以灵活地构造SQL查询条件。Wrapper可以用于构造查询条件、更新条件以及删除条件。 Wrapper的使用步骤如下: 1. 创建Wrapper对象 Wrapper对象是用来构造SQL查询条件的对象。在MyBatis-Plus中,有两种Wrapper对象,它们分别是QueryWrapperUpdateWrapperQueryWrapper用于构造查询条件,UpdateWrapper用于构造更新和删除条件。我们可以使用静态方法创建它们,如下所示: ```java // 创建QueryWrapper QueryWrapper<User> queryWrapper = new QueryWrapper<>(); // 创建UpdateWrapper UpdateWrapper<User> updateWrapper = new UpdateWrapper<>(); ``` 2. 构造SQL查询条件 Wrapper对象提供了一系列的API来构造SQL查询条件,我们可以根据需要来选择使用。 例如,我们可以使用eq方法来构造等于条件: ```java queryWrapper.eq("name", "Tom"); ``` 还可以使用like方法来构造模糊查询条件: ```java queryWrapper.like("name", "Tom"); ``` 除此之外,Wrapper还提供了一些其他的API,例如: - gt:大于条件 - ge:大于等于条件 - lt:小于条件 - le:小于等于条件 - between:范围条件 - in:in条件 - notIn:not in条件 - isNull:为空条件 - isNotNull:不为空条件 - orderBy:排序条件 我们可以根据需要来选择使用。 3. 执行SQL查询操作 构造好查询条件之后,我们需要将Wrapper对象传递给相应的方法来执行SQL查询操作。 例如,我们可以使用selectList方法来查询符合条件的记录: ```java List<User> userList = userMapper.selectList(queryWrapper); ``` 还可以使用update方法来更新符合条件的记录: ```java int result = userMapper.update(user, updateWrapper); ``` 上述就是MyBatis-Plus中Wrapper的用法。同时,MyBatis-Plus还提供了LambdaQueryWrapper和LambdaUpdateWrapper,它们是基于Lambda表达式的Wrapper,使用起来更加方便。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值