引入maven依赖

这里注意如果是和springboot整合项目的话,一定要引入springboot依赖,不是独立依赖。
image-20210908105231184
构建三层代码:

  1. 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; }

  1. ```
  2. package com.angyi.dao;
  3. import com.angyi.pojo.Blog;
  4. import org.apache.ibatis.annotations.Mapper;
  5. import java.util.List;
  6. //dao接口 注意要配置mapperscan或者这里标明mapper注解
  7. public interface BlogDao {
  8. List<Blog> getBlogList();
  9. }
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.angyi.dao.BlogDao">
  6. <select id="getBlogList" resultType="com.angyi.pojo.Blog">
  7. select * from t_blog order by id
  8. </select>
  9. </mapper>
  1. service层 接口以及接口实现类
  1. package com.angyi.service;
  2. import com.angyi.pojo.Blog;
  3. import java.util.List;
  4. public interface IndexBlogService {
  5. public List<Blog> getIndexBlog();
  6. }
  1. package com.angyi.service.impl;
  2. import com.angyi.dao.BlogDao;
  3. import com.angyi.pojo.Blog;
  4. import com.angyi.service.IndexBlogService;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.stereotype.Service;
  7. import java.util.List;
  8. @Service
  9. public class IndexBlogServiceImpl implements IndexBlogService {
  10. @Autowired
  11. BlogDao blogDao;
  12. @Override
  13. public List<Blog> getIndexBlog() {
  14. return blogDao.getBlogList();
  15. }
  16. }
  1. Controller
  1. package com.angyi.controller;
  2. import com.angyi.pojo.Blog;
  3. import com.angyi.service.IndexBlogService;
  4. import com.github.pagehelper.PageHelper;
  5. import com.github.pagehelper.PageInfo;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.stereotype.Controller;
  8. import org.springframework.ui.Model;
  9. import org.springframework.web.bind.annotation.GetMapping;
  10. import org.springframework.web.bind.annotation.PathVariable;
  11. import org.springframework.web.bind.annotation.RequestParam;
  12. import java.util.List;
  13. @Controller
  14. public class IndexController {
  15. @Autowired
  16. private IndexBlogService indexBlogService;
  17. @GetMapping("/index")
  18. public String toIndex(@RequestParam(defaultValue = "1",value = "pageNum") int pageNum , Model model){
  19. PageHelper.startPage(pageNum,5);
  20. List<Blog> bloglist = indexBlogService.getIndexBlog();
  21. //得到分页结果对象
  22. PageInfo<Blog> pageInfo = new PageInfo<>(bloglist);
  23. model.addAttribute("pageInfo", pageInfo);
  24. return "index";
  25. }
  26. }
  1. Thymeleaf index.html
  1. // 页码部分
  2. <nav aria-label="Page navigation example">
  3. <ul class="pagination justify-content-center">
  4. <!-- 首页-->
  5. <li class="page-item" >
  6. <a class="page-link" aria-label="Previous" th:href="'/index?pageNum=1'">首页
  7. </a>
  8. </li>
  9. <!-- 上一页-->
  10. <li class="page-item" th:if="${pageInfo.hasPreviousPage}">
  11. <a class="page-link" th:href="'/index?pageNum='+${pageInfo.prePage}">
  12. <i class="ace-icon fa fa-angle-double-left"></i>
  13. </a>
  14. </li>
  15. <li class="page-item" th:each="nav:${pageInfo.navigatepageNums}">
  16. <a class="page-link" style="font-weight: bold;background: #0da2f012;" th:if="${nav == pageInfo.pageNum}" th:text="${nav}" ></a>
  17. <a class="page-link" th:href="'/index?pageNum='+${nav}" th:text="${nav}" th:if="${nav != pageInfo.pageNum}"> </a>
  18. </li>
  19. <!-- 下一页-->
  20. <li lass="page-item" th:if="${pageInfo.hasNextPage}">
  21. <a class="page-link" href="#" aria-label="Next" th:href="'/index?pageNum='+${pageInfo.nextPage}">
  22. <span aria-hidden="true">&raquo;</span>
  23. </a>
  24. </li>
  25. <!-- 最后一页-->
  26. <li class="page-item" th:if="${pageInfo.hasNextPage}" >
  27. <a class="page-link" th:href="'/index?pageNum='+${pageInfo.pages}">尾页</a>
  28. </li>
  29. </ul>
  30. </nav>

image-20210908144751172