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();
    
    }
    
    
    记得快乐
  • 相关阅读:
    Spring MVC3 + Ehcache 缓存实现
    DB2导入导出数据库数据
    JS、ActiveXObject、Scripting.FileSystemObject
    new ActiveXObject("Scripting.FileSystemObject") 时抛出异常 .
    各种浏览器的内核是什么
    Content-Type: application/vnd.ms-excel">
    常用jar包用途
    nutz的json视图
    Nutz中那些好用的工具类
    The JSP specification requires that an attribute name is preceded by whitespace
  • 原文地址:https://www.cnblogs.com/Y-wee/p/13881295.html
Copyright © 2011-2022 走看看