springboot -mybatis分页插件pagehelper

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

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

org.mybatis.spring.boot mybatis-spring-boot-starter 1.3.1

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


    com.github.pagehelper
    pagehelper
    5.0.0


    com.github.pagehelper
    pagehelper-spring-boot-autoconfigure
    1.2.3


    com.github.pagehelper
    pagehelper-spring-boot-starter
    1.2.3


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 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 selectPage();
    Integer selectTotalpage();
}

mapper.xml sql语句简单除暴


    
    

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

你可能感兴趣的:(Spring,boot)