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