全部
技术
PHP
MySQL
前端
Linux
JAVA
工具
纪念日计算器
邮记星
个人记账
笔记侠
历史上的今天
生日密码
生日书
生日密码
生日花语
博古通今
三十六计
鬼谷子
笑林广记
本草纲目
山海经
唐诗宋词
宋词300首
唐诗300首
退出
登录
注册
编辑文章
选择分类
PHP
MySQL
前端
Linux
Java
工具
选择专栏
设计模式
java基础
Angular学习
Java面试题
描述:
封面图上传 :
+
点击上传图片
####pom.xml文件用到的包 ```
org.springframework.boot
spring-boot-starter-thymeleaf
nz.net.ultraq.thymeleaf
thymeleaf-layout-dialect
org.mybatis.spring.boot
mybatis-spring-boot-starter
1.3.2
com.github.pagehelper
pagehelper-spring-boot-starter
1.2.3
``` #### Controller 代码 ``` package top.bowen.controller; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpRequest; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import top.bowen.pojo.Articles; import top.bowen.pojo.Users; import top.bowen.service.ArticleService; import top.bowen.service.UserService; import top.bowen.utils.TimeFormatHelper; import java.text.ParseException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @Controller public class IndexController { @Autowired ArticleService articleService; @Autowired UserService userService; @RequestMapping(value = {"/","/home"},method = RequestMethod.GET) public String index(ModelMap map,@RequestParam(name = "type", required = false,defaultValue = "0") Integer type, @RequestParam(name = "search_content", required = false) String title, @RequestParam(name = "page",required = false,defaultValue = "0") Integer page, @RequestParam(name ="pageSize", required = false,defaultValue = "10")Integer pageSize) throws ParseException { //文章信息,包括分页信息 PageInfo
articlesPageInfo = articleService.queryArticlesList(type, title, page, pageSize); map.addAttribute("pageInfo",articlesPageInfo); return "home"; } } ``` #### service层代码 关键代码 通过startPage方法实现数据库分页 PageHelper.startPage(page, pageSize); 通过PageInfo获取分页查询后的数据,包括数据库列表数据,和一些分页参数 PageInfo
articlesPageInfo = new PageInfo<>(articlesList); ``` package top.bowen.service.impl; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.apache.ibatis.annotations.Select; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import org.thymeleaf.util.StringUtils; import tk.mybatis.mapper.entity.Example; import top.bowen.mapper.ArticlesMapper; import top.bowen.pojo.Articles; import top.bowen.service.ArticleService; import top.bowen.utils.JsonUtils; import java.util.List; @Service public class ArticlesServiceImpl implements ArticleService { @Autowired private ArticlesMapper articlesMapper; @Override @Transactional(propagation = Propagation.SUPPORTS) public PageInfo
queryArticlesList(Integer type, String title, Integer page, Integer pageSize) { if(page< 0){ page = 0; } if(pageSize < 0){ pageSize = 20; } //分页类 PageHelper.startPage(page, pageSize); Example example = new Example(Articles.class); Example.Criteria criteria = example.createCriteria(); if (type > 0) { criteria.andEqualTo("type", type); } if (!StringUtils.isEmptyOrWhitespace(title)) { criteria.andLike("title", "%" + title + "%"); } criteria.andEqualTo("state", 0); example.orderBy("createdAt").desc(); List
articlesList = articlesMapper.selectByExample(example); //3、获取分页查询后的数据 PageInfo
articlesPageInfo = new PageInfo<>(articlesList); //4、封装需要返回的分页实体 return articlesPageInfo; } } ``` #### view层处理 home.html页面 把分页的视图文件包含到当前页面你想要显示分页的位置 判断pageInfo.pages > 1,是为了在只有一页的情况下不显示 ```
``` #### view层处理 pagination.html页面 分页主逻辑页面,即显示的分页条逻辑 ```
«
«
{{ $page }}
»
»
```
保存文章