引入maven依赖
这里注意如果是和springboot整合项目的话,一定要引入springboot依赖,不是独立依赖。
构建三层代码:
- pojo,dao以及mapper文件。 ``` package com.angyi.pojo;
import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import java.util.Date; // 实体类 @Data @AllArgsConstructor @NoArgsConstructor public class Blog { private Integer id; private String title; private String content; private String first_picture; private String flag; private Integer views; private Integer appreciation; private Integer share_statement; private Integer commentabled; private Integer published; private Integer recommend; private Date create_time; private Date update_time; private Integer type_id; private Integer user_id; private String description; private String tag_ids; }
```package com.angyi.dao;import com.angyi.pojo.Blog;import org.apache.ibatis.annotations.Mapper;import java.util.List;//dao接口 注意要配置mapperscan或者这里标明mapper注解public interface BlogDao {List<Blog> getBlogList();}
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.angyi.dao.BlogDao"><select id="getBlogList" resultType="com.angyi.pojo.Blog">select * from t_blog order by id</select></mapper>
- service层 接口以及接口实现类
package com.angyi.service;import com.angyi.pojo.Blog;import java.util.List;public interface IndexBlogService {public List<Blog> getIndexBlog();}
package com.angyi.service.impl;import com.angyi.dao.BlogDao;import com.angyi.pojo.Blog;import com.angyi.service.IndexBlogService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import java.util.List;@Servicepublic class IndexBlogServiceImpl implements IndexBlogService {@AutowiredBlogDao blogDao;@Overridepublic List<Blog> getIndexBlog() {return blogDao.getBlogList();}}
- Controller
package com.angyi.controller;import com.angyi.pojo.Blog;import com.angyi.service.IndexBlogService;import com.github.pagehelper.PageHelper;import com.github.pagehelper.PageInfo;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestParam;import java.util.List;@Controllerpublic class IndexController {@Autowiredprivate IndexBlogService indexBlogService;@GetMapping("/index")public String toIndex(@RequestParam(defaultValue = "1",value = "pageNum") int pageNum , Model model){PageHelper.startPage(pageNum,5);List<Blog> bloglist = indexBlogService.getIndexBlog();//得到分页结果对象PageInfo<Blog> pageInfo = new PageInfo<>(bloglist);model.addAttribute("pageInfo", pageInfo);return "index";}}
- Thymeleaf
index.html
// 页码部分<nav aria-label="Page navigation example"><ul class="pagination justify-content-center"><!-- 首页--><li class="page-item" ><a class="page-link" aria-label="Previous" th:href="'/index?pageNum=1'">首页</a></li><!-- 上一页--><li class="page-item" th:if="${pageInfo.hasPreviousPage}"><a class="page-link" th:href="'/index?pageNum='+${pageInfo.prePage}"><i class="ace-icon fa fa-angle-double-left"></i></a></li><li class="page-item" th:each="nav:${pageInfo.navigatepageNums}"><a class="page-link" style="font-weight: bold;background: #0da2f012;" th:if="${nav == pageInfo.pageNum}" th:text="${nav}" ></a><a class="page-link" th:href="'/index?pageNum='+${nav}" th:text="${nav}" th:if="${nav != pageInfo.pageNum}"> </a></li><!-- 下一页--><li lass="page-item" th:if="${pageInfo.hasNextPage}"><a class="page-link" href="#" aria-label="Next" th:href="'/index?pageNum='+${pageInfo.nextPage}"><span aria-hidden="true">»</span></a></li><!-- 最后一页--><li class="page-item" th:if="${pageInfo.hasNextPage}" ><a class="page-link" th:href="'/index?pageNum='+${pageInfo.pages}">尾页</a></li></ul></nav>

