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

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_小锋

出处:https://www.cnblogs.com/java688/p/13594802.html

版权:本站使用「CC BY 4.0」创作共享协议,转载请在文章明显位置注明作者及出处。

------------------------------------------------------------------------------------------------------------------------------

 

posted @ 2020-09-01 15:51  java锋哥  阅读(6312)  评论(0编辑  收藏  举报