Mybatis-Plus中的条件查询-DQL编程

当需要进行一些复杂的条件查询时,则需使用wrapper,来编辑这些条件

1、条件查询

①allEq()

即是where后面的等于"=",该方法的后的所有参数都会被以"and"的形式进行连接

QueryWrapper qw1 = new QueryWrapper();
        Map<String,Object> map=new HashMap();
        map.put("count",200L);
        map.put("pid",12);
        qw1.allEq(map);

②eq()

和alleq()的区别在于,eq()只能加一个参数

qw1.eq("count",200L);

③ne()

即是不等于

qw1.ne("count",200L);

④gt()、ge()、lt()、le()

分别是>,>=,<,<=

⑤between()、notBetween()

即是between-and和not between-and,使用要注意小值在前,大值在后

⑥like、likeLeft、likeRight、notLike

like组装为 like%内容%

likeLeft为 like%内容

likeRight为 like内容%

notLike与此类似

⑦isNull、isNotNull

即为 is null和is not null

⑧in、notIn

后面一个参数为可变长参数

⑨groupBy、orderBy

相当于order by

第一个参数,第二个参数决定降序排列还是升序排列,第三个参数决定根据那一列

⑩having

having两种代码写法,记得要配合聚合函数使用

⑪or、and

如果不调用or(),则语句为and()关系

多次链式调用时,默认为and关系

⑫exists、notExists

与sql中EXISTS、not EXISTS用法一致

 2、查询投影

如果不设置投影,默认为select * 查询出所有列

condition

有些方法为boolean类型的该参数,该参数中判断语句为true时,才将该条件拼接上sql语句中,可以用于判断当一些字段不为空时就拼接条件

false

true

经验分享 程序员 微信小程序 职场和发展