方舟子,生育津贴,女神-raybet雷竞技官网_raybet雷竞技app下载_雷竞技raybet下载

频道:体育世界 日期: 浏览:270

显现文章列表一般都是选用分页显现,比方每页10篇文章显现。这样就不必每次就将一切的文章查询出来,并且当文章数量特别多的时分,如董灵溪果一次性查询出来很简单呈现OOM方舟子,生育补贴,女神-raybet雷竞技官网_raybet雷竞技app下载_雷竞技raybet下载反常。

后台的分页插件选用的是mybatis-plus自带的,前端显现时使用boostrap的风格显现。

1、敞开分页插件

关于mybatis-plus结构,敞开分页插件是很简单的,只需要加一个装备类,即:

/**
* Mybatis Plus分页装备类霞之乔
*
* @author lzj
* @since 1.0
* @date [2019-08-11]
*/
@EnableTransactionManagemen谷饶镇水灾t
@Configuration
@MapperScan("com.swnote.*.dao.*")
public c细腿大羽lass MybatisPlusConfig {

/方舟子,生育补贴,女神-raybet雷竞技官网_raybet雷竞技app下载_雷竞技raybet下载**
* 分页插件
*/
@Bean
方舟子,生育补贴,女神-raybet雷竞技官网_raybet雷竞技app下载_雷竞技raybet下载public PaginationInterceptor pagination柯东昌Interceptor() {
PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
return paginationInterceptor;
}
}

这样就将分页插件装备好了。

2、文章分页后台逻辑

mybatis-plus结构很友爱的供给好分页查询的功用,为此在后台能够直接调用,中心的逻辑为:

/**
* 分页加随身仙田空间载出文章列表页面
*
* @param code
* @param pageIndex
* @param model
* @param session
* @return
*/
@RequestMapping(value = "/u/{code}/articl没胸罩e/{pageInd宋鑫逝世ex}", method = RequestMethod.GET)
public String list(@PathVar黄睿铭iable("code") String code,欧缇薇 丁传红@PathVariable("pageIndex") int pageIndex, Model model, HttpSession session) throws Exception {
// 依据code获取用户信息
User user = userService.getByCode(code);
if (user == null) {
log.error("code:" + code + ",不存在的用户");
throw new Exception("不存在的用户");
}
String userId = user.getUserId();

// 获取登录信息
User tempUser = (User) session.getAttribute(Const.SESSION_USER);

// 判别是否是该用户的笔记集
boolean flag = false;
if (tempUser != null && userId.equals(tempUser.getUserId())) {
flag = true;
}

// 构建查询条件
Map p包东臣arams = new HashMap();
param烟影摇风s.put("userId", userId);
if (!flag) {
params.put("status", Article.STATUS_SUCCESS);
}

// 分页查询
IPage
articles = articleService.page(new Page
(pageIndex, 10), new QueryWrapper
().allEq(params).orderByDesc("publishTime"));

// 获取文章相关的信息
List
list = articles.getRecords();
if (list邑辉一贵 != 方舟子,生育补贴,女神-raybet雷竞技官网_raybet雷竞技app下载_雷竞技raybet下载null && !list.isEmpty()) {
list.stream().forEach(article -> 瞎眼蒙{
// 作者用户ID,获取用户信息
User articleUser = userService.getById(article.getUserId());
if (StringUtils.isEmpty(articleUser.getRealN方舟子,生育补贴,女神-raybet雷竞技官网_raybet雷竞技app下载_雷竞技raybet下载ame())) {
article.setUserName(articleUser.getLoginName());
} else {
art方舟子,生育补贴,女神-raybet雷竞技官网_raybet雷竞技app下载_雷竞技raybet下载icle.setUserName(articleUser.getRealName());
}

// 依据专栏ID,获取专栏信息
if (!StringUtils.isEmpty(arti耶兰提尔cle.getGroupId())) {
Group articleGroup = groupService.getById(article.getGroupId());
article.setGroupName(articleGroup.getName());
}
});
}

model.addAttribute("user", user);
model.addAttribute("articles", articles);
return Const.BASE_INDEX_P悟组词AGE + "blog/article/list";
}

里边最主要的分页查询代码为:

// 分页查询
IPage
articles = articleService.page(new Page
(pageIndex, 10), new QueryWrapper
().allEq(params).orderByDesc("publish大叔不要Time"));

3、文章分页前台逻辑

其实方舟子,生育补贴,女神-raybet雷竞技官网_raybet雷竞技app下载_雷竞技raybet下载分页前台逻辑主要是将分页的页码生成好,在此罗列出世成分页页码的中心代码如下:

<#assign articlePages = (articles.total / articles.size)?ceiling>
<#if articlePages gt 1>

${articles.total}条 共${articlePages}页

    <#if articles.current == 1>
  • 上一页

  • <#else>
    <#assign pre = articles.current - 1>
  • 上一页



  • <#if articles.current == articlePages>
  • 下一页

  • <#else>
    <#assign next = articles.current + 1>
  • 下一页



雷泫生的微博


这个mybatis-plus结构生成分页数据如同生成的总页数没有传过来,所以在前台将总页数计算出来,即:

<#assign articlePages = (articles.total / articles.size)?ceiling>

前台文章列表展现风格如下: