Comment paginer en Java
Le principe de mise en œuvre est très simple, c'est-à-dire créer une classe Page, qui contient le numéro de la page actuellement visitée (il s'agit des données transmises du navigateur du client au backend, votre pagination doit donc l'utiliser pour localiser les entrées enregistrées) et le nombre de lignes d'enregistrement affichées sur chaque page.
Ensuite, les données suivantes peuvent être obtenues grâce au calcul de pagination. (Supposons que votre numéro de page commence à 1)
1. Nombre total de pages = nombre total d'enregistrements/taille de chaque page, si 0 = nombre total d'enregistrements% taille de chaque page, alors le total ! nombre de pages + 1
2. Le numéro de page actuel (obtenu à partir des paramètres transmis par le navigateur)
3 La position de départ de l'enregistrement du tableau = (numéro de page actuel-1) *Chaque taille de page
4. Le nombre total d'enregistrements (sélectionnez le nombre (*) dans [nom de la table] [où [condition]], obtenu à partir de la base de données)
5. de chaque page peut être corrigé, ou il peut être obtenu à partir de la page. Après avoir passé ces paramètres, utilisez simplement les instructions SQL pour trouver les enregistrements correspondants.
La base de données MySQL utilise la table limit pour enregistrer la position de départ, et l'instruction de taille de page est ajoutée à la fin de votre instruction de requête. La base de données sqlserver utilise l'instruction top et non pour le faire.
La base de données Oracle utilise rownum pour le faire. Le code spécifique pour créer est le suivant :public class Page { private long totalCount = 0;// 总记录数 private int pageNumber = 1;// 当前页号,默认显示第一页 private int pageSize = 20; // 每页大小,默认每页20条 private int totalPage = 0;// 总页数,默认为0 private int startRow = 0;// 起始记录行号,默认为从表头开始 /** * 分页计算方法,由setTotalCount调用 */ public void pagination() { // 计算总页数 if (this.totalCount % pageSize == 0) this.totalPage = new Long(this.totalCount / pageSize).intValue(); else this.totalPage = new Long(this.totalCount / pageSize).intValue() + 1; // 排除错误页号 if (this.pageNumber < 1) this.pageNumber = 1; if (this.pageNumber > this.totalPage) this.pageNumber = this.totalPage; // 计算起始行号 this.startRow = (this.pageNumber - 1) * this.pageSize; } public long getTotalCount() { return totalCount; } public void setTotalCount(long totalCount) { this.totalCount = totalCount; this.pagination(); } public int getPageNumber() { return pageNumber; } public void setPageNumber(int pageNumber) { this.pageNumber = pageNumber; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } public int getTotalPage() { return totalPage; } public void setTotalPage(int totalPage) { this.totalPage = totalPage; } public int getStartRow() { return startRow; } public void setStartRow(int startRow) { this.startRow = startRow; } }
Tutoriels d'introduction à Java gratuits, bienvenue pour apprendre en ligne !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!