springboot -mybatis分页插件pagehelper

项目基本属于ajax交互这里基本前端接的锅比较多

为了减少踩坑 mybatis-spring-boot-starter版本用1.3.0以上

<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.1</version> </dependency>

接下来是分页插件PageHelper的POM.XML依赖

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>5.0.0</version>
</dependency>
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-autoconfigure</artifactId>
    <version>1.2.3</version>
</dependency>
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.2.3</version>
</dependency>

application.properties的配置文件

pagehelper.helperDialect=mysql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=countSql

OK基本东西准备完就可以开工了 因为没有业务 所以这里直接放弃了业务层

@Controller
public class CertificateController {

    //分页行数
    private int pageSize=8;
    @Resource
    private CertificateDao certificateDao;

    //默认第一个方法用来打开html
    @RequestMapping("/certificate")
    public String Login(){
        return "certificate";
    }

     //传进一个要显示的当前页的参数进来就可以了
    @RequestMapping("/selectPage")
    @ResponseBody
    public List<Certificate> CertificatePage(@RequestParam(value = "page", required = false) Integer page){
        PageHelper.startPage(page,pageSize);//第一个第几页的参数, 第二个表示要显示多少组的数据
       return certificateDao.selectPage();
    }

    //这是一个拿总页数的方法接口 总页数就一个比较简单的算法 所以不引用插件了
    @RequestMapping("/selectTotalpage")
    @ResponseBody
    public Integer selectTotalpage(){
        //访问数据库查询表的总行数
        int totalSize =certificateDao.selectTotalpage();
          //计算页数
        int totalpage = totalSize /pageSize;
        if(totalSize%pageSize > 0){
            //如数据总量10 % 页数大小4 不等于0,但确实有4条数据,但上求出总页数值小于1(10/5=0.5),所以要加一页
            totalpage = totalSize/pageSize+1;
        }
     //返回页数
        return  totalpage;
    }
}

dao层

@Repository
public interface CertificateDao {
    List<Certificate> selectPage();
    Integer selectTotalpage();
}

mapper.xml sql语句简单除暴

<mapper namespace="com.yida120.certificate.dao.CertificateDao">
    <select id="selectPage" resultType="com.yida120.certificate.entity.Certificate">
         select * from certificate
    </select>
    <select id="selectTotalpage" resultType="Integer">
        select count(id) from certificate
    </select>
</mapper>

小码农的代码就完成了,有不足的地方多多指教一下 谢谢!

Guess you like

Origin blog.csdn.net/jiehong1020/article/details/94744538