zoukankan      html  css  js  c++  java
  • 分页查询案例

    分页查询案例

    1、实体类

    1.1、页面实体类

    package com.yl.bean;
    
    import lombok.Data;
    import lombok.NoArgsConstructor;
    
    import java.util.List;
    
    /**
     * 图书页面实体类
     */
    @Data
    @NoArgsConstructor
    public class PageBook {
        private int pageCode;//当前页码
        private int pageSize;//每页数据条数
        private int totalPage;//总页数
        private int totalRecord;//总数据条数
        private List<Book> bookList;//用来存储查询出来的结果集
    }
    
    

    1.2、图书实体类

    package com.yl.bean;
    
    import lombok.Data;
    import lombok.NoArgsConstructor;
    
    import java.io.Serializable;
    import java.util.Date;
    
    /**
     * 图书实体类
     */
    @Data
    @NoArgsConstructor
    public class Book implements Serializable {
        private Integer id;
        private String name;
        private String author;
        private Date date;
        private Float price;
    }
    
    

    2、业务层

    2.1、业务层接口

    package com.yl.service;
    
    import com.yl.bean.Book;
    import com.yl.bean.PageBook;
    
    import java.util.List;
    
    /**
     * 图书业务层接口
     */
    public interface IBookService {
    
        /**
         * 分页查询
         */
        PageBook queryByPage(int pageCode,int pageSize);
    
    }
    
    

    2.2、业务层接口实现类

    package com.yl.service.impl;
    
    import com.yl.bean.Book;
    import com.yl.bean.PageBook;
    import com.yl.dao.IBookDao;
    import com.yl.service.IBookService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    import java.util.List;
    
    /**
     * 图书业务层接口实现类
     */
    @Service("bookService")
    public class IBookServiceImpl implements IBookService {
        @Autowired
        private IBookDao bookDao;
    
        /**
         * 分页查询
         */
        @Override
        public PageBook queryByPage(int pageCode,int pageSize) {
            PageBook pageBook=new PageBook();
    
            //查询起始位置
            int start=(pageCode-1)*pageSize;
            //每次查询的数据条数
            int ps=pageSize;
            //调用持久层分页查询方法
            List<Book> bookList=bookDao.queryByPage(start,ps);
            //查询数据库图书总数量
            int bookCount=bookDao.queryDataCount();
            //计算总页数
            int pageCount=bookCount%ps==0?bookCount/ps:bookCount/ps+1;
    
            pageBook.setBookList(bookList);
            pageBook.setPageCode(pageCode);
            pageBook.setTotalPage(pageCount);
            pageBook.setPageSize(pageSize);
    
            return pageBook;
        }
    
    }
    
    

    3、持久层

    3.1、持久层接口

    package com.yl.dao;
    
    import com.yl.bean.Book;
    import com.yl.bean.PageBook;
    import org.apache.ibatis.annotations.Param;
    
    import java.util.List;
    
    /**
     * 图书持久层接口
     */
    public interface IBookDao {
    
        /**
         * 分页查询
         */
         List<Book> queryByPage(@Param("pageCode") int pageCode, @Param("pageSize") int pageSize);
    
        /**
         * 查询数据库表中图书总量
         */
        int queryDataCount();
    
    }
    
    
    记得快乐
  • 相关阅读:
    Element-Ui表单移除校验clearValidate和resetFields
    Vue组件之间传值(父子)
    最简单新手vuex案例(三、actions对象)
    最简单新手vuex案例(二、mutations对象)
    最简单新手vuex案例(一)
    vue如何把路由拆分多个文件
    Vue项目如何使用公共js方法呢?
    uva10815 by sixleaves
    uva12096 The SetStack Computer By sixleaves
    uva540 Team Queue by sixleaves
  • 原文地址:https://www.cnblogs.com/Y-wee/p/13881295.html
Copyright © 2011-2022 走看看