Java Web mengimplementasikan fungsi paging dan membaginya dengan semua orang, sebagai berikut:
Gunakan Kerangka: SSM
Database: Oracle
Berbicara tentang kueri pagination Oracle jauh lebih rumit daripada MySQL. Mari kita bicarakan secara singkat di sini:
Permintaan sepuluh data pertama:
SELECT * from (pilih Rownum wn, rn. * Dari (pilih id, judul, create_time sebagai createtime, musictor, musictitle dari orde krry_blog oleh create_time desc) rn) wn mana wn <= 10 dan wn> 0
Tata bahasa lebih rumit.
Dengan hasil yang sama, sintaks MySQL adalah: dapat diselesaikan dengan batas.
Pilih ID, Judul, Create_Time As CreateTime, Musictor, MusictitleFrom Krry_Blog Order oleh Create_Time Desclimit 0,5
Saya tidak akan berbicara tentang pembangunan kerangka kerja SSM. Saya telah memperkenalkannya secara detail di blog sebelumnya. Di sini saya akan berbicara tentang fungsi menerapkan pagination web java.
Gunakan Plugin JS: krry_page.js, dan jQuery
Lapisan Persistensi Mapper:
Blogmapper.java
Paket com.krry.mapper; import java.util.hashmap; import java.util.list; import com.krry.entity.params;/** * * mapper: Operate Database * @author krry * @Version 1.0.0 * */Blogmapper antarmuka publik {/** @version ** ** @parurn * @parurn * PLOBOD @PARUR ** @parurn * PLOY @RAROM ** @PARUR ** @RARY ** @RAROM * PLOY @RAROM ** @RAROM ** @RARUBER ** @REROM ** @RAROM PUBLOM ** @RERET @RERET @RERET * Daftar <hashmap <string, objek >> findBlogs (params params); / ** * Hitung jumlah blog * com.krry.dao.admin * Nama metode: countblogs * @author krry * @param params * @return int * @exception * @since 1.0.0 */ public long countblogs (); } Blogmapper.xml
<? Xml Version = "1.0" encoding = "UTF-8"?> <! Doctype mapper public "-// mybatis.org//dtd mapper 3.0 // en" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper napper = "kry = "kry.kry. Kueri pagination Semua informasi blog-> <pilih id = "findblogs" resultType = "java.util.hashmap" parameterType = "params"> pilih * dari (pilih rownum wn, rn. * Dari (Id Select, create_time sebagai createTime, musictor, musictitle dari krry_blog dengan {{{{{{{{wise {create {where {where (create) Dan wn> #{pageno} </select> <!-query Jumlah blog-> <pilih id = "countblogs" resultType = "long"> pilih count (*) dari krry_blog </tect> </mapper>Lapisan Bisnis Layanan:
Kelas Antarmuka: Iblogservice.java
Paket com.krry.service; impor java.util.hashmap; impor java.util.list; import javax.servlet.http.httpservletrequest; impor org.apache.ibatis.annotations.param; Impor com.krry.entity.blog; Impor Com.Krry.Param; (diimplementasikan dalam IMP) * @Author Asusaad * */Antarmuka publik IblogService {/** * kueri pagination untuk semua blog * @param params * @return */daftar publik <hashmap <string, objek >> findblogs (params params); / ** * Hitung jumlah blog * @param params * @return */ public long countblogs (); } Kelas Implementasi IMPS: BlogService.java
Paket com.krry.service.impl; import java.util.hashmap; impor java.util.list; impor org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.service; impor org.spramramework.sheotype.service; Impor org.spramramework. com.krry.entity.params; import com.krry.mapper.blogmapper; import com.krry.service.iblogservice;/** * mengimplementasikan antarmuka layer layanan * @author asusaad */ @servicepublic class layanan blogmaprice; /*** Query Blog*/Daftar Publik <HashMap <String, Object >> FindBlogs (params params) {// Daftar Informasi Blog Query <HashMap <String, Object >> Blog = BlogMapper.findblogs (params); balas blog; } / ** * Hitung jumlah blog * @param params * @return * / public long countblogs () {long coutblogs = blogmapper.countblogs (); mengembalikan coutblogs; }}Lapisan kontrol pengontrol:
KrryController.java
Paket com.krry.controller; import java.util.hashmap; impor java.util.list; impor org.springframework.beans.factory.annotation.Autowired; impor org.springframework.stereotype.controller; impor org.spramram.spappppapping org.springframework.web.bind.annotation.responseBody; impor org.springframework.web.servlet.modelandview; impor com.krry.entity.params; import @krry.service.iblogservice;/** * KRryController * lAyered * LapereReReD; // berarti bahwa itu adalah pola multi-kasus, dan lapisan web yang dikembalikan oleh setiap pengguna berbeda kelas publik KrryController {@Autowired private iBlogService BlogService; /*** Halaman beranda, dan kueri pagination* @return*/@RequestMapping ("/index") public modelAndView index (params params) {params.setpageno (0); params.setPagesize (10); // Di awal, hanya 10 item yang ditanya // memanggil daftar lapisan bisnis <hashmap <string, objek >> blog = blogService.findblogs (params); // query Jumlah blog panjang coutblogs = blogservice.countblogs (); ModelAndView ModelAndView = new ModelAndView (); modelAndView.AddObject ("Blog", Blog); ModelAndView.AddObject ("CoutBlogs", CoutBlogs); modelAndView.setViewName ("index"); return modelandview; }/** * kueri pagination untuk permintaan jax * @param params * @return */@responseBody @RequestMapping ("/loadData") hashmap publik <string, objek> loadData (params params) {hashmap <string, object> peta = new hashmap <string> (); Daftar <HashMap <String, Object >> Blogs = BlogService.FindBlogs (params); Map.put ("Blog", Blog); peta mengembalikan; }}Ada dua kelas entitas di sini, yang digunakan sebagai blog yang disuntikkan untuk kueri basis data, dan dua parameter untuk pagination kueri params:
Atur Parameter Data: Pageno (halaman berikutnya): adalah jumlah halaman saat ini* Jumlah yang akan ditampilkan pada halaman halaman berikutnya (halaman berikutnya): Jumlah yang telah ditanyakan (Pageno) + jumlah yang akan ditampilkan pada setiap halaman
Dalam database, itu adalah wn <= pagesize dan wn> pageno untuk menanyakan data halaman
Blog.java
Paket com.krry.entity;/** * * pengguna * @author krry * @Version 1.0.0 * */Blog kelas publik {// Kunci primer Private String ID; // Judul Blog Judul String Pribadi; // penulis musik string musik pribadi Musictitle; // judul musik string pribadi Musictitle; // Waktu Penciptaan Private String CreateTime; Blog Publik (ID String, Judul String, String Musictor, String Musictitle, String CreateTime) {this.id = id; this.title = judul; this.musictor = Musictor; this.musictitle = Musictitle; this.createTime = createTime; } public String getId () {return id; } public void setId (string id) {this.id = id; } public String getTitle () {return title; } public void setTitle (string title) {this.title = title; } public String getMusIctor () {return musik; } public void setMusictor (String Music) {this.musictor = Musictor; } public string getMusicTitle () {return Musictitle; } public void setMusicTitle (String Musictitle) {this.musictitle = Musictitle; } public string getCreateTime () {return createTime; } public void setCreateTime (String createTime) {this.createTime = createTime; }} Params.java
Paket com.krry.entity;/** * * params * @author krry * @Version 1.0.0 * */kelas publik params {private integer pageSize = 0; Private Integer Pageno = 0; Integer publik getPageno () {return pageno; } public void setPageno (integer pageno) {this.pageno = pageno; } public integer getPageSize () {return pageSize; } public void setPagesize (integer pageSize) {this.pagesize = pageSize; }} indeks halaman web.jsp
<%@ page language = "java" import = "java.util.*" pageCoding = "utf-8"%> <%@ taglib uri = "http://java.sun.com/jsp.jstl/core" prefix = "c"%> <%string path = request.getcontexpath (); request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";pageContext.setAttribute("basePath", basePath);%><!DOCTYPE HTML><html> <head> <title>Pagination</title> <style> body {background: url ("sumber daya/gambar/78788.jpg"); latar belakang ukuran: cover;} .titless {font-size: 34px; Text-align: Center; Color: Black; margin-Bottom: 16px;} .ke_tabbox {Min-height: 556px; wid: 9px; 0; padding: 6px; posisi: relatif;} .ke_tabbox .sendmy {text-align: center; Font-Family: "Microsoft Yahei"; Ukuran font: 28px; -webkit-text-fill-color: transparan; Latar Belakang: -webkit -gradient (linear, atas kiri, bawah kiri, dari (#fd8700), ke (#ff00b1)); -webkit-background-klip: teks; margin: 8px auto 0; line-height: 35px;} .ke_tabbox .ke_table {lebar: 100%; margin-top: 26px;} .ke_tabbox th {latar belakang: #ccc; font-weight: bold;} .ke_tabbox .ke_table td, overflfl {evlaplow; bold;} .ke_tabbox .ke_table td, overflfl {evlflow: bold; ellipsis; border: 1px solid #fff; padding: 4px 12px; warna: #666; font-size: 12px;} /*Pagination-terkait* / .tzpage {font-size: 12px; Posisi: absolute; 480px; right: 0px;} #tody; .t_mode {padding-right: 4px;} #tbody .t_avbiaoq: hover {color: #ff6857; transisi: .4s} #tbody .t_dele {padding-left: 4px;} .tzpage A {Text-Decoration: None; Border: None; Color:#7D7D7D; Latar Belakang-Color:#F2F2F2; Border-Radius: 3px;} .tzpage A: Hover {latar belakang:#dd5862; warna: #fff;} .tzpage a, .tzpage span {blok: label: blok; 0.5em; margin-right: 5px; margin-bottom: 5px; min-lebar: 1em; text-align: tengah; garis-ketinggian: 22px; tinggi: 22px;} .tzpage .current {latar belakang:#dd5862; warna: #fff; perbatasan: tidak ada; THEVAGE: 3PX; ’page;}} {uRpage. .current.next {Color:#999; Border: 1px solid#e5e5e5; latar belakang: #fff;} .tm_psize_go {margin-right: 4px; float: left; tinggi: 24px; line-height: 33px; posisi: relatif; perbatasan: 1px solid#e5e5e5e5: 33px; posisi: relatif; perbatasan: 1px solid#e5e5e5e5; #tm_pagego {border-radius: 3px; tinggi: 18px; lebar: 30px; float: kiri; teks-align: tengah; perbatasan: 1px solid #e5e5e5; line-height: 22px; color: #999} .sortdesc {border-top: 5px solid; lebar: 0px; tinggi: 0px; tampilan: blok inline; vertikal-align: tengah; batas perbatasan: 5px transparan padat; batas-kiri: 5px transparan padat; margin-kiri: 5px;} .sortasc {perbatasan-botol: 5px solid: 5px solid; lebar: 0px; tinggi: 0px; tampilan: inline-block; vertikal-align: tengah;-kanan-batas: 5px transparan padat; batas-kiri: 5px transparan solid; margin-kiri: 5px;} .red {warna: merah} .green {warna: hijau} .hideadd {loncatan: 300px; green {color: green} .hideadd {loncatan: 300px; green {color: green. Teks-Align: tengah; Line-Height: 300px; margin-top: 16px; Tampilan: tidak ada;} .hideadd a {font-size: 28px; -webkit-text-fill-color: transparent; latar belakang: -webkit-gradient (linear, kiri atas, bagian bawah, dari (#fd0051), ke (#a22c93));-Webkit-back-clip:}} </a2c93); Tampilan </p> <ablew> <Thead> <tr> <Th> judul </th> <th> MUSIC MAN </TH> <TH> JUDUL MUSIC </t> <TH> Waktu yang Diterbitkan </th> </tr> </thead> <tbody id = "foreach" foreach = "$" $ "$" <td> <a> $ {blog.title} </a> </td> <td> <a> $ {blog.musictor} </a> </td> <td> <a> $ {Blog.musictor} </a> </td> <td> <a> <a> <a> blog.musictor} </a> </td> <td> <a> <a> $ {blog.musictor <td> $ {Blog.CreateTime} </td> </tr> </c: foreach> </tbody> </able> <div id = "krrypage"> </div> </div> <script type = "Text/JavaScript" src = "$ {BasEpath}/script = javascript" src = "$ {BasePath} /resource/js/javascript" type = "Text/JavaScript" src = "$ {BasePath} /Resource/js/krry_page.js"> </script> <script type = "text/javascript"> var BasePath = "$ {BasePath}"; </script> <script type = "teks/javascript"> varrrym) varrrym) varrrym) varrrym) </script> <script = ”teks/javascript”> varrrym) varrrym) varrrym) varrryM) $ ("#krrypage"). tzpage (itemcount, {num_display_entries: 5, // num halaman utama num_edge_entries: 4, // num halaman edge current_page: 0, // tentukan page next autef: "next page: 10, 10, / /her. // ShowSelect: False, Callback: Function (Pageno, PSIZE) {// Dua parameter akan diteruskan kembali. }, // Atur parameter data: pageno (halaman berikutnya): Jumlah halaman yang akan ditampilkan di halaman berikutnya* Jumlah halaman yang akan ditampilkan di halaman berikutnya // halaman (halaman berikutnya): jumlah kueri (pageno) + halaman pagu dan pagring yang akan ditampilkan di setiap halaman // dalam database, wn. loadData: function (pageno, pagesize) {pageno = pageno * pagesize; halaman = pageno + 10; $ .Ajax ({type: "Post", URL: Basepath+"/loadData", data: {pageno: pageno, pagesize: pageSize}, Success: function (data) {if (data) {var html = ""; varrOrr = data. Blogarr [i]; title = '"+json.name+"'> "+json.musictor+" </a> </td> "+" <td> <a class = 't_avbiaoq' title = '"+json.musictle+"'> "+json.musictitle+" </a> </td> "+"+"+"+"+"+"+"+"+"+"+"+"+"+"+"+"+"+" "</tr>"; }}; krryadminblog.initpage ($ ("#tbody"). Data ("ItemCount")); </script> </body> </html>Rendering pagination:
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.