流程分析
sql
SELECT
id,
`name`
FROM
t_role
WHERE
`name` LIKE CONCAT('%', '', '%')
RoleMapper.xml
<select id="selectForKeywordSearch" resultMap="BaseResultMap">
SELECT
id,
`name`
FROM
t_role
WHERE
`name` LIKE CONCAT('%', #{keyword}, '%')
</select>
RoleMapper接口方法
List<Role> selectForKeywordSearch(String keyword);
service方法
@Autowired
private RoleMapper roleMapper;
@Override
public PageInfo<Role> queryForKeywordWithPage(
Integer pageNum,
Integer pageSize,
String keyword) {
// 1.开启分页功能
PageHelper.startPage(pageNum, pageSize);
// 2.执行查询
List<Role> list = roleMapper.selectForKeywordSearch(keyword);
// 3.封装为PageInfo对象
return new PageInfo<>(list);
}
handler方法
@Autowired
private RoleService roleService;
@ResponseBody
@RequestMapping("/role/search/by/keyword")
public ResultEntity<PageInfo<Role>> search(
@RequestParam(value="pageNum", defaultValue="1") Integer pageNum,
@RequestParam(value="pageSize", defaultValue="5") Integer pageSize,
@RequestParam(value="keyword", defaultValue="") String keyword
) {
// 1.查询得到PageInfo对象
PageInfo<Role> pageInfo = roleService.queryForKeywordWithPage(pageNum, pageSize, keyword);
// 2.封装结果对象返回
return ResultEntity.successWithData(pageInfo);
}
测试
http://localhost:8080/atcrowdfunding-admin-1-webui/role/search/by/keyword.json
注意:一定要添加注解,否则无法扫描