java1234开源博客系统
博客信息

Mybatis-Plus条件构造器condition动态判断条件

0
发布时间:『 2020-08-31 16:33』  博客类别:mybatis-plus  阅读(105)

mp框架,在条件构造方法里,都会重载一个condition参数;

这个参数的作用是动态判断条件,假如condition是true,则拼接加条件,false的话,则不拼接加条件;

我们前台传来的动态条件,以前是通过代码判断拼接,现在我们可以直接条件构造方法里写,大大简化代码量;

 

我们看下实例:

需求:动态判断条件 根据性别和名字查询

以前我们一般都是这么干的,先判断后拼接;

/**
 * 动态判断条件 根据性别和名字查询
 */
@Test
public void selectByQueryWrapperWidthCondition10(){
    QueryWrapper<Employee> queryWrapper=new QueryWrapper();
    // QueryWrapper<Employee> queryWrapper2=Wrappers.<Employee>query();
    String s_gender="";
    String s_name="小";
    if(StringUtil.isNotEmpty(s_gender)){
         queryWrapper.eq("gender",s_gender);
    }
    if(StringUtil.isNotEmpty(s_name)){
         queryWrapper.like("name",s_name);
    }
    List<Employee> employeeList = employeeMapper.selectList(queryWrapper);
    System.out.println(employeeList);
}

 

我们用condition实现:

/**
 * 动态判断条件 根据性别和名字查询
 */
@Test
public void selectByQueryWrapperWidthCondition10(){
    QueryWrapper<Employee> queryWrapper=new QueryWrapper();
    String s_gender="";
    String s_name="小";
    queryWrapper.eq(StringUtil.isNotEmpty(s_gender),"gender",s_gender).like(StringUtil.isNotEmpty(s_name),"name",s_name);
    List<Employee> employeeList = employeeMapper.selectList(queryWrapper);
    System.out.println(employeeList);
}

这样写的话 代码简洁多了

 


关键字:   无
关注Java1234微信公众号
博主信息
Java1234_小锋
(知识改变命运,技术改变世界)
Powered by Java1234 V3.0 Copyright © 2012-2016 Java知识分享网 版权所有