Comment springboot + mybatis intègre le plugin pagehelper

Avant d'apprendre, assurez-vous de bien connaître l'utilisation de springboot et l'utilisation de mybatis: ne
parlez pas trop, comptez d'abord sur:

        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper</artifactId>
            <version>5.1.3</version>
        </dependency>

La version suggérée ici est la même que la mienne, sinon la liste du jeu de résultats risque de ne pas être chargée.
Le principe d'utilisation est que la base de données et mybatis ont été configurés.
Tout d'abord, interrogez toutes les méthodes dans la configuration de l'
interface de la couche dao: interface de la couche dao:

    //存储Blog
    int saveBlog(Blog blog);

Configurez ensuite le mappeur:
mapper:

    <!--查找全部博客-->
    <select id="queryBlog" resultType="com.hncu.cocoblog.entities.Blog">
        select * from t_blog
    </select>

Pour vos propres projets ou pour commencer, écrivez une méthode pour interroger tous les enregistrements de la couche dao et configurez-la dans le mappeur.
Ensuite, comment utiliser:
Couche de service:

    @Override
    public PageInfo findPage(int page, int pageSize) {
        PageHelper.startPage(page,pageSize);
        List<Blog> list=blogDao.queryBlog(); //这里的是我的查询所有的方法,根据情况,改成自己的
        PageInfo<Blog> pageInfo=new PageInfo<Blog>(list); //将list(全部结果传进去) 泛型根据情况而定
        return pageInfo;  //返回pageInfo对象给controller
    }

La couche de service est terminée et le contrôleur est le suivant:

    // 分页查询博客
    @GetMapping("/getBlogByPage/{page}")
    public String getBlogByPage(@PathVariable("page") Integer page, Model model) {
        PageInfo<Blog> pageInfo = blogService.findPage(page, 8); //获取指定页的8条信息
        //这些信息都需要传递到前端做分页
        model.addAttribute("pageNum", pageInfo.getPageNum());//得到当前页
        model.addAttribute("pages", pageInfo.getPages()); //得到总页数
        model.addAttribute("list", pageInfo.getList()); //将分页得到的list集合返回到前端
        return "manageBlog";
    }

Les informations requises sont obtenues via l'objet pageInfo transmis à partir de la couche Service, et nous n'avons besoin que de transmettre deux paramètres au service PageHelper.startPage(page,pageSize);, l'un est le numéro de page et l'autre le nombre d'enregistrements par page.

Ce qui précède est l'utilisation de pagehelper, regardez ensuite les paramètres:

public class PageInfo<T> implements Serializable {
private static final long serialVersionUID = 1L;
//当前页
private int pageNum;
//每页的数量
private int pageSize;
//当前页的数量
private int size;
//由于startRow 和endRow 不常用,这里说个具体的用法
//可以在页面中"显示startRow 到endRow 共size 条数据"
//当前页面第一个元素在数据库中的行号
private int startRow;
//当前页面最后一个元素在数据库中的行号
private int endRow;
//总记录数
private long total;
//总页数
private int pages;
//结果集
private List<T> list;
//前一页
private int prePage;
//下一页
private int nextPage;
//是否为第一页
private boolean isFirstPage = false;
//是否为最后一页
private boolean isLastPage = false;
//是否有前一页
private boolean hasPreviousPage = false;
//是否有下一页
private boolean hasNextPage = false;
//导航页码数
private int navigatePages;
//所有导航页号
private int[] navigatepageNums;
//导航条上的第一页
private int navigateFirstPage;
//导航条上的最后一页
private int navigateLastPage;
}

Nous pouvons tous obtenir ces informations via la méthode set / get de pageInfo!

Je suppose que tu aimes

Origine blog.csdn.net/Pzzzz_wwy/article/details/106207534
conseillé
Classement