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();
    
    }
    
    
    记得快乐
  • 相关阅读:
    Constructor构造方法
    overload重载
    static关键字
    this关键字
    继承
    ORACLE数据库 常用命令和Sql常用语句
    常见单词
    L贪心基础
    J贪心
    K贪心
  • 原文地址:https://www.cnblogs.com/Y-wee/p/13881295.html
Copyright © 2011-2022 走看看