根据条件搜索如何实现

方法一:使用通用mapper的条件查询
示例:
@Override
public List findByExample(Map searchMap) {
Example example = new Example(Brand.class);
Example.Criteria criteria = example.createCriteria();
if(searchMap != null){
if (searchMap.get(“name”) != null && !"".equals(searchMap.get(“name”))){
criteria.andLike(“name”,"%" + searchMap.get(“name”) + “%”);
}
if(searchMap.get(“letter”) != null && !"".equals(searchMap.get(“letter”))){
criteria.andEqualTo(“letter”,searchMap.get(“letter”));
}
return brandMapper.selectByExample(example);//底层会将封装了查询条件的example拼接到sql后面
}
return null;
}

controller层
@PostMapping("/findByExample")
public List findByExample(@RequestBody Map searchMap){ //前台传过来的是json,不加@RequestBody注解则无法转为Map
return brandService.findByExample(searchMap);
}

方法二:不使用通用mapper,自己在xml中编写sql,使用模糊查询
示例:
BrandMapper.xml中的代码:通过if test标签来添加查询条件
根据条件搜索如何实现_第1张图片

你可能感兴趣的:(java,mybatis,sql,mysql)