发表于: 2017-08-01 19:40:46
1 1114
今日完成:
后台Article查询接口
写了一个查询动态查询的工具类
明日计划:
看信计的项目
准备面试
收获:
sql语句里limit使用方法
要返回前几条或者中间某几行数据,使用limit
select * from table limit m,n
其中m是指记录开始的index,从0开始,表示第一条记录
n是指从第m+1条开始,取n条。
select * from table limit 2,4
意思是取出第3条至第6条,共4条记录
公司封装好的框架真好用
查询接口
*/
@RequestMapping(value = "/a/u/article/search", method = RequestMethod.GET)
public String getarticleList(HttpServletRequest request,
HttpServletResponse response, ModelMap model, String title, Integer type, Long createBy,
Long startAt, Long endAt, Integer status, Integer page, Integer size) throws Exception {
if (page == null || page <= 0) {
page = 1;
}
if (size == null || size <= 0) {
size = 10;
}
int start = (page - 1) * size;
if (start < 0) {
start = 0;
}
List<Article> articleList = null;
try {
Map<String, Object> param = DynamicUtil.getArticleList(title, createBy, startAt, endAt, status, type);
List<Long> ids = articleService.getIdsByDynamicCondition(Article.class, param, start, size);
log.info("get ids is " + ids);
List<Long> count = articleService.getIdsByDynamicCondition(Article.class, param, 0, Integer.MAX_VALUE);
log.info("get count is " + count);
articleList = articleService.getObjectsByIds(ids);
log.info("get articleList is " + articleList);
model.addAttribute("code", 0);
model.addAttribute("size", size);
model.addAttribute("total", count.size());
model.addAttribute("articleList", articleList);
} catch (Exception t) {
t.printStackTrace();
log.error(t.getMessage());
log.error("get article error");
model.addAttribute("code", -100000); }
return "/carrots-bangbang-admin-service/article/json/articleListJson";
}
动态sql语句拼接工具
public static Map<String, Object> getArticleList(String title, Long createBy, Long startAt,Long endAt, Integer status, Integer type
) {
Map<String, Object> params = new HashMap<String, Object>();
if (DataUtils.isNotNullOrEmpty(title)) {
params.put("title & like", "'%" + title + "%'");
}
if (DataUtils.isNotNullOrEmpty(createBy)) {
params.put("create_by", "'" + createBy + "'");
}
if (DataUtils.isNotNullOrEmpty(startAt)) {
params.put("create_at & >=",startAt);
}
if (DataUtils.isNotNullOrEmpty(endAt)) {
params.put("ent_at & <=",endAt);
}
if (DataUtils.isNotNullOrEmpty(status)) {
params.put("status", "'" + status + "'");
}
if (DataUtils.isNotNullOrEmpty(type)) {
params.put("type", "'" + title + "'");
}
params.put("@order", " create_at desc ");
params.put("@query", " id ");
params.put("@table", " article ");
log.info("getArticleList sql is " + SQLUtil.convert2Sql(params, 0, 0));
return params;
}
}
问题:
暂无
评论