功能分析:
请求的url:/content/query/list
参数:categoryId 内容分类id
响应的数据:EasyUIDataGridResult (需要使用注解@ResponseBody)
json格式的数据
{total:查询结果总数量,rows[{id:1,title:aaa,subtitle:bb,…}]}
封装内容数据:List<TbContent>
查询的表:tb_content
业务逻辑:
根据内容分类id查询内容列表。要进行分页处理。
参考商品列表的查询。
1)Dao
单表查询内容数据,直接使用逆向工程生成的Mapper。注意:需要根据条件进行查询。
2)Service
ContentService接口代码:
* 根据内容分类id,分页查询前台内容列表信息
* @param categoryId
* @param page
* @param rows
* @return
*/
EasyUIDataGridResult getContentList(Long categoryId, Integer page, Integer rows);
ContentServiceImpl实现类代码:
@Overridepublic EasyUIDataGridResult getContentList(Long categoryId, Integer page, Integer rows) {
// 设置分页信息,使用PageHelper
if (page == null) {
page = 1;
}
if (rows == null) {
rows = 30;
}
PageHelper.startPage(page, rows);
TbContentExample contentExample = new TbContentExample();
// 设置查询条件
Criteria criteria = contentExample.createCriteria();
criteria.andCategoryIdEqualTo(categoryId);
// 执行查询,需要设置查询条件,根据内容分类id查询内容列表
List<TbContent> list = contentMapper.selectByExample(contentExample);
// 取出分页信息
PageInfo<TbContent> pageInfo = new PageInfo<>(list);
// 创建返回结果对象
EasyUIDataGridResult result = new EasyUIDataGridResult();
// 给返回结果对象设置值
result.setTotal(pageInfo.getTotal());
result.setRows(list);
// 返回结果
return result;
}
3)发布服务
已在“新增内容”中发布服务了。参考下面。
4)引用服务
已在“新增内容”中引用服务了。参考下面。
5)Controller
/*** 根据内容分类id,分页查询内容列表
* @param categoryId
* @param page
* @param rows
* @return
*/
@RequestMapping("/query/list")
@ResponseBody
public EasyUIDataGridResult getContentList(Long categoryId, Integer page, Integer rows) {
EasyUIDataGridResult result = contentService.getContentList(categoryId, page, rows);
return result;
}