一、mybatisplusor条件拼接
1、Mybatisplusor的实现方式:
在Mybatisplus的基础上,mybatisplusor增加了一个拓展包,直接继承了Mybatisplus的核心实现,只是增加了一些辅助拼接的方法。
/**
* 条件构造器拓展
*/
public class OrWrapper
extends AbstractWrapper
>
implements Serializable, Cloneable {
// 省略部分代码
}
2、Mybatisplusor支持的多条件拼接方式:
Mybatisplusor提供了多种多条件的拼接方式,包括普通的and、or关系、以及括号拼接、函数拼接等方式。
@Autowired
private UserMapper userMapper;
public List<User> multiCriteriaQuery() {
// or关系
OrWrapper<User> orWrapper = new OrWrapper<>();
orWrapper.like("name", "张").or().like("name", "三");
// and关系,包含括号
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.gt("age", 20)
.and(qw -> qw.lt("age", 30).or().like("name", "李"));
// 函数拼接
QueryWrapper<User> queryWrapper2 = new QueryWrapper<>();
queryWrapper2.apply("date_format(create_time,'%Y-%m-%d')={0}", "2020-04-06")
.inSql("manager_id", "select id from user where name like '%张%'");
return userMapper.selectList(orWrapper);
}
3、Mybatisplusor在实际开发中的应用场景:
在复杂的查询场景下,我们需要拼接多个条件进行查询,如果使用Mybatisplus+普通方式拼接可能会显得代码冗长繁琐。这时候可以使用mybatisplusor来更方便地拼接多个条件,使代码更加简洁易读,大大提高开发效率。
二、mybatisplusor排序方式
1、Mybatisplusor支持的排序方式:
除了支持Mybatisplus本身提供的orderBy方法,Mybatisplusor还提供了更加简单方便的orderByAsc和orderByDesc方法,使排序更加高效快速。
@Autowired
private UserMapper userMapper;
public List<User> multiCriteriaQuery() {
// 普通的orderBy方式,需要写列名
QueryWrapper<User> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.orderByAsc("age");
// mybatisplusor拓展的orderByAsc方法,直接写属性名即可排序
QueryWrapper<User> queryWrapper2 = new QueryWrapper<>();
queryWrapper2.orderByAsc("age");
// mybatisplusor拓展的orderByDesc方法
QueryWrapper<User> queryWrapper3 = new QueryWrapper<>();
queryWrapper3.orderByDesc("age");
return userMapper.selectList(queryWrapper);
}
2、Mybatisplusor在实际开发中的应用场景:
在需要根据多个属性排序的情况下,使用原生的orderBy方法需要写列名较为繁琐,如果使用Mybatisplusor提供的orderByAsc和orderByDesc方法可以直接按属性名排序,使得代码更加简洁易读。
三、Mybatisplusor的使用注意事项
1、Mybatisplusor只是Mybatisplus的一个拓展,并不是必需品,需要根据实际情况进行选择和应用。
2、多条件拼接和排序都是Mybatisplusor在Mybatisplus基础上提供的一些扩展方法,不会影响Mybatisplus原有的功能。
3、Mybatisplusor不仅仅支持上述两种拓展方法,还提供了其它一些方便实用的方法,需要根据实际需求进行选择。
结语
本文对Mybatisplusor进行了全方位的解析,详细介绍了它在条件拼接和排序方式方面的特点和使用方法,并提供了相应的代码示例。
Mybatisplusor作为Mybatisplus的拓展,为我们进行复杂的查询操作提供了更加方便快捷的方式,希望能对大家有所帮助。