Heim > Java > javaLernprogramm > Wie implementiert man eine Paging-Abfrage in Javaweb? Javaweb-Code zur Implementierung der Paging-Abfrage

Wie implementiert man eine Paging-Abfrage in Javaweb? Javaweb-Code zur Implementierung der Paging-Abfrage

不言
Freigeben: 2018-10-09 14:02:33
nach vorne
10238 Leute haben es durchsucht

Der Inhalt dieses Artikels befasst sich mit der Implementierung einer Paging-Abfrage in Javaweb. Der Code zur Implementierung der Paging-Abfrage in Javaweb hat einen gewissen Referenzwert. Freunde in Not können darauf zurückgreifen.

Implementierung der Javaweb-Paging-Technologie

Paging-Technologie dient zum Abrufen von Daten über SQL-Anweisungen (unten). Informationen zur spezifischen Implementierung finden Sie im folgenden Code

//分页查询语句
select * from 表名 where limit page , count;
和
//获取表中的总数据,确定页数
select count(*) from 表名;
Nach dem Login kopieren

Reden Sie keinen Unsinn und gehen Sie direkt zum Code

Frontend-Code:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="js/jquery-3.3.1.js"></script>
    <link rel="stylesheet" href="css/bootstrap.min.css">
</head>
<body>

<div>
    <div class="row clearfix">
        <div class="col-md-12 column">
            <table class="table table-bordered table-hover">
                <thead>
                <tr>
                    <th>City_ID</th>
                    <th>City_EN</th>
                    <th>City_CN</th>
                    <th>Country_code</th>
                    <th>Country_EN</th>
                    <th>Country_CN</th>
                    <th>Province_EN</th>
                    <th>Province_CN</th>
                </tr>
                </thead>
                <tbody id="tbody">

                </tbody>
            </table>
            <!--分页-->
            第<span id="paging">1</span>页/
            共<span id="countPage">1</span>页/
            <a id="homePage">Home</a>/
            <a id="prevPage">Prev</a>/
            <a id="nextPage">Next</a>/
            转到第:
            <input type="text" style="width: 2em" id="pageNum">
            页
            <a id="goPage">Go</a>


        </div>
    </div>
</div>
</body>
<script>
    $(function () {
        //页面初始化 (显示第一页)
        selectPage(1);
        home();
        prev();
        next();
        goPage();
    })
    function selectPage(pageCode) {
        //分页查询 pageCode:页数
        $.ajax("getCity",{
            type:"get",
            data:{"currenPage":pageCode},
            success:function (data) {
                $("#tbody").html("");
                //总页数
                $("#countPage").text(data.totalPage);

                $.each(data.pageData,function (index,obj) {
                    var clazz="";
                    if(index%2==0){
                        clazz="success";
                    }
                    $("#tbody").append(
                        "<tr class=&#39;"+clazz+"&#39;>\n" +
                        "<td>"+obj.cityId+"</td>\n" +
                        "<td>"+obj.cityEn+"</td>\n" +
                        "<td>"+obj.cityCn+"</td>\n" +
                        "<td>"+obj.countryCode+"</td>\n" +
                        "<td>"+obj.countryEn+"</td>\n" +
                        "<td>"+obj.countryCn+"</td>\n" +
                        "<td>"+obj.provinceEn+"</td>\n" +
                        "<td>"+obj.provinceCn+"</td>\n" +
                        "</tr>"
                    );
                })

            }
        });
    }
    //第一页
    function home() {
        $("#homePage").on("click",function () {
            $("#paging").text(1);
            selectPage(1);
        })
    }

    //上一页
    function prev() {
        $("#prevPage").on("click",function () {
            var prevText=$("#paging").text();
            var prevNum=parseInt(prevText);
            prevNum=prevNum-1;
            if(prevNum<=1){
                selectPage(1);
                $("#paging").text(1);
                return;
            }
            $("#paging").text(prevNum);
            selectPage(prevNum);
        })
    }
    //下一页
    function next() {
        $("#nextPage").on("click",function () {
            //获取文本的值 页数
            var prevText=$("#paging").text();
            //类型转换
            var prevNum=parseInt(prevText);
            //总页数
            var countText=$("#countPage").text();
            //类型转换
            var countNum = parseInt(countText);
            //页数加1
            prevNum=prevNum+1;
            //判断超出了总页码
            if(prevNum>=countNum){
                selectPage(countNum);
                $("#paging").text(countNum);
                return;
            }
            //设置网页增加的值
            $("#paging").text(prevNum);
            //调用分页查询
            selectPage(prevNum);
        })
    }
    //去到几页
    function goPage() {
        $("#goPage").on("click",function () {
            var pageNum=parseInt($("#pageNum").val());
            var countPage=parseInt($("#countPage").text())
            //判断超出了总页码
            if(pageNum>=countPage){
                selectPage(countPage);
                $("#paging").text(countPage);
                $("#pageNum").val(countPage);
                return;
            }
            //判断低于了总页码
            if(pageNum<=1){
                selectPage(1);
                $("#paging").text(1);
                $("#pageNum").val(1);
                return;
            }
            selectPage(pageNum);
            $("#paging").text(pageNum);
        })
    }

</script>
</html>
Nach dem Login kopieren

Backend-Servlet-Code:

/**
 * @author hh
 * @Date 2018/9/12
 */
@WebServlet("/getCity")
public class PageServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //获取当前页参数,第一次访问为空
        String currPage = req.getParameter("currenPage");
        // 判断,如果为空,则设置为1
        if (currPage == null || "".equals(currPage.trim())) {
            currPage = "1";
        }
        //调用service返回分页类实例
        PageBean<City> pageBean=new PageService().getPage(currPage);
        //设置相应文本类型
        resp.setContentType("application/json;charset=utf-8");
        //响应前端
        resp.getWriter().print(new Gson().toJson(pageBean));
    }
}
Nach dem Login kopieren

Stadt-Entitätsklasse:

package edu.nf.demo.entity;

/**
 * @author hh
 * @Date 2018/9/12
 */
public class City {
    private String cityId;
    private String cityEn;
    private String cityCn;
    private String countryCode;
    private String countryEn;
    private String countryCn;
    private String provinceEn;
    private String provinceCn;
    public String getCityId() {
        return cityId;
    }
    public void setCityId(String cityId) {
        this.cityId = cityId;
    }
    public String getCityEn() {
        return cityEn;
    }
    public void setCityEn(String cityEn) {
        this.cityEn = cityEn;
    }

    public String getCityCn() {
        return cityCn;
    }
    public void setCityCn(String cityCn) {
        this.cityCn = cityCn;
    }
    public String getCountryCode() {
        return countryCode;
    }
    public void setCountryCode(String countryCode) {
        this.countryCode = countryCode;
    }
    public String getCountryEn() {
        return countryEn;
    }
    public void setCountryEn(String countryEn) {
        this.countryEn = countryEn;
    }
    public String getCountryCn() {
        return countryCn;
    }

    public void setCountryCn(String countryCn) {
        this.countryCn = countryCn;
    }

    public String getProvinceEn() {
        return provinceEn;
    }

    public void setProvinceEn(String provinceEn) {
        this.provinceEn = provinceEn;
    }

    public String getProvinceCn() {
        return provinceCn;
    }

    public void setProvinceCn(String provinceCn) {
        this.provinceCn = provinceCn;
    }
}
Nach dem Login kopieren

Eine von mir selbst geschriebene Klasse, die speziell für Paging-Abfragen verwendet wird:

package edu.nf.demo.entity;

import java.util.List;

/**
 * @author hh
 * @Date 2018/9/12
 */
public class PageBean<T> {
    /**
     * 当前页, 默认显示第一页
     */
    private Integer currntPage = 1;
    /**
     * 查询返回的行数(每页显示的行数),默认每页显示10行
     */
    private int pageCount = 10;
    /**
     * 总记录数
     */
    private int totalCount;
    /**
     * 总页数 = 总记录数/每页显示的行数(+1)
     */
    private int totalPage;
    /**
     * 分页查询的数据,运用泛型,可以重复利用
     */
    private List<T> pageData;

    public int getTotalPage() {
        if (totalCount % pageCount == 0) {
            totalPage = totalCount / pageCount;
        } else {
            totalPage = totalCount / pageCount + 1;
        }
        return totalPage;
    }

    public void setTotalPage(int totalPage) {
        this.totalPage = totalPage;
    }

    public int getCurrntPage() {
        return currntPage;
    }

    public void setCurrntPage(int currntPage) {
        this.currntPage = currntPage;
    }

    public int getPageCount() {
        return pageCount;
    }

    public void setPageCount(int pageCount) {
        this.pageCount = pageCount;
    }

    public int getTotalCount() {
        return totalCount;
    }

    public void setTotalCount(int totalCount) {
        this.totalCount = totalCount;
    }


    public List<T> getPageData() {
        return pageData;
    }

    public void setPageData(List<T> pageData) {
        this.pageData = pageData;
    }
}
Nach dem Login kopieren

Backend-Service, logische Geschäftsschicht:

/**
 * @author hh
 * @Date 2018/9/12
 */
public class PageService {

    public PageBean getPage(String currPage){
        //类型转换 当前页数
        Integer currenPage = Integer.valueOf(currPage);
        //实例化分页类
        PageBean<City> pageBean = new PageBean();
        //实例化CityDaoImpl类
        CityDaoImpl cityDao=new CityDaoImpl();

        //数据库第几行开始查询
        int startPage=(currenPage-1)*pageBean.getPageCount();
        //查询多少行数据 分页类里默认30行
        int selectCount=pageBean.getPageCount();
        //查询数据库获取分页返回的数据 : select * from regional_info limit startPage,selectCount
        List<City> list=cityDao.listCity(startPage,selectCount);
        //获取总数
        int cityCount=cityDao.getCityCount();
        //设置查询的数据
        pageBean.setPageData(list);
        //共多少行
        pageBean.setTotalCount(cityCount);
        //设置总页数
        pageBean.setTotalPage(cityCount/pageBean.getPageCount()+1);
        return pageBean;
    }
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie implementiert man eine Paging-Abfrage in Javaweb? Javaweb-Code zur Implementierung der Paging-Abfrage. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage