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);
}
这样写的话 代码简洁多了