国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - java ssm框架實(shí)現(xiàn)分頁功能的示例代碼(oracle)

java ssm框架實(shí)現(xiàn)分頁功能的示例代碼(oracle)

2021-04-13 13:40筱月 Java教程

這篇文章主要介紹了java ssm框架實(shí)現(xiàn)分頁功能的示例代碼(oracle),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

java web 實(shí)現(xiàn)分頁功能,分享給大家,具體如下:

使用框架:ssm

數(shù)據(jù)庫:oracle

話說 oracle 的分頁查詢比 mysql 復(fù)雜多了,在這里簡單談一下:

查詢 前十條數(shù)據(jù):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
SELECT * FROM(
 SELECT ROWNUM WN,RN.* FROM (
  SELECT
   id,
   title,
   create_time as createTime,
   musictor,
   musictitle
  FROM
   krry_blog
  ORDER BY create_time desc
  )RN
 )WN
WHERE WN <= 10 AND WN > 0

語法較為復(fù)雜,

同樣的結(jié)果,mysql 的語法是:用一個 LIMIT 就可以解決。

?
1
2
3
4
5
6
7
8
9
10
SELECT
 id,
 title,
 create_time as createTime,
 musictor,
 musictitle
FROM
 krry_blog
 ORDER BY create_time desc
LIMIT 0,5

 SSM 框架的搭建,就不多說了,以前的博客有詳細(xì)介紹,這里就談?wù)剬?shí)現(xiàn) java web 分頁的功能。

用到插件 js : krry_page.js,還有jQuery

mapper 持久層:

BlogMapper.java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package com.krry.mapper;
import java.util.HashMap;
import java.util.List;
import com.krry.entity.Params;
 
/**
 *
 * Mapper:操作數(shù)據(jù)庫
 * @author krry
 * @version 1.0.0
 *
 */
public interface BlogMapper {
 
 /**
 * 查詢所有博客
 * @param params
 * @return
 */
 public List<HashMap<String, Object>> findBlogs(Params params);
 
 /**
 * 計(jì)算博客數(shù)量
 * com.krry.dao.admin
 * 方法名:countBlogs
 * @author krry
 * @param params
 * @return int
 * @exception
 * @since 1.0.0
 */
 public long countBlogs();
}

BlogMapper.xml

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?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 namespace="com.krry.mapper.BlogMapper" >
 <!-- 分頁查詢所有的博客信息 -->
 <select id="findBlogs" resultType="java.util.HashMap" parameterType="Params">
 SELECT * FROM(
  SELECT ROWNUM WN,RN.* FROM (
  SELECT
   id,
   title,
   create_time as createTime,
   musictor,
   musictitle
  FROM
   krry_blog
  ORDER BY create_time desc
  )RN
 )WN
 WHERE WN &lt;= #{pageSize} AND WN &gt; #{pageNo}
 </select>
 
 <!-- 查詢博客數(shù)量 -->
 <select id="countBlogs" resultType="long">
 SELECT
  count(*)
 FROM
  krry_blog
 </select>
</mapper>

service業(yè)務(wù)層:

接口類:IBlogService.java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package com.krry.service;
import java.util.HashMap;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.apache.ibatis.annotations.Param;
import com.krry.entity.Blog;
import com.krry.entity.Params;
/**
 * service層:處理業(yè)務(wù)邏輯(impl里面實(shí)現(xiàn))
 * @author asusaad
 *
 */
public interface IBlogService {
 /**
 * 分頁查詢所有博客
 * @param params
 * @return
 */
 public List<HashMap<String, Object>> findBlogs(Params params);
 
 /**
 * 計(jì)算博客數(shù)量
 * @param params
 * @return
 */
 public long countBlogs();
}

impl 實(shí)現(xiàn)類:BlogService.java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package com.krry.service.impl;
import java.util.HashMap;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.servlet.ModelAndView;
import com.krry.entity.Params;
import com.krry.mapper.BlogMapper;
import com.krry.service.IBlogService;
/**
 * 實(shí)現(xiàn)service層接口
 * @author asusaad
 *
 */
@Service
public class BlogService implements IBlogService{
 @Autowired
 private BlogMapper blogMapper;
 
 /**
 * 查詢博客
 */
 public List<HashMap<String, Object>> findBlogs(Params params) {
 
 //查詢博客信息
 List<HashMap<String, Object>> blog = blogMapper.findBlogs(params);
 
 
 return blog;
 }
 
 /**
 * 計(jì)算博客數(shù)量
 * @param params
 * @return
 */
 public long countBlogs(){
  long coutBlogs = blogMapper.countBlogs();
 return coutBlogs;
 }
}

controller控制層:

KrryController.java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package com.krry.controller;
import java.util.HashMap;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import com.krry.entity.Params;
import com.krry.service.IBlogService;
/**
 * KrryController
 * controller層,作為請求轉(zhuǎn)發(fā)
 * @author asusaad
 *
 */
@Controller //表示是多例模式,每個用戶返回的web層是不一樣的
public class KrryController {
 @Autowired
 private IBlogService blogService;
 
 /**
 * 首頁,并且分頁查詢
 * @return
 */
 @RequestMapping("/index")
 public ModelAndView index(Params params){
 params.setPageNo(0);
 params.setPageSize(10); //一開始只查詢10條
 //調(diào)用業(yè)務(wù)層
 List<HashMap<String, Object>> blogs = blogService.findBlogs(params);
 //查詢博客數(shù)量
 long coutBlogs = blogService.countBlogs();
 ModelAndView modelAndView = new ModelAndView();
 modelAndView.addObject("blogs", blogs);
 modelAndView.addObject("coutBlogs", coutBlogs);
 modelAndView.setViewName("index");
 return modelAndView;
 }
 
 /**
 * ajax請求 的 分頁查詢
 * @param params
 * @return
 */
 @ResponseBody
 @RequestMapping("/loadData")
 public HashMap<String, Object> loadData(Params params){
 
 HashMap<String, Object> map = new HashMap<String, Object>();
 List<HashMap<String, Object>> blogs = blogService.findBlogs(params);
 map.put("blogs", blogs);
 return map;
 }
}

這里要有兩個實(shí)體類,作為數(shù)據(jù)庫查詢的注入 Blog,還有分頁查詢的兩個參數(shù) Params:

設(shè)置data參數(shù):pageNo(下一頁):就是當(dāng)前頁數(shù) * 下一頁要顯示的數(shù)量
         pageSize(下一頁):已經(jīng)查詢出來的數(shù)量(pageNo) + 每頁要顯示的數(shù)量

在數(shù)據(jù)庫中是 WN <= pageSize and WN > pageNo 來查詢分頁數(shù)據(jù)

Blog.java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
package com.krry.entity;
/**
 *
 * User
 * @author krry
 * @version 1.0.0
 *
 */
public class Blog {
 // 主鍵
 private String id;
 //博客標(biāo)題
 private String title;
 //音樂作者
 private String musictor;
 //音樂標(biāo)題
 private String musictitle;
 //創(chuàng)建時間
 private String createTime;
 public Blog(String id, String title, String musictor, String musictitle,
  String createTime) {
 this.id = id;
 this.title = title;
 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 musictor;
 }
 
 public void setMusictor(String musictor) {
 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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package com.krry.entity;
/**
 *
 * Params
 * @author krry
 * @version 1.0.0
 *
 */
public class Params {
 private Integer pageSize = 0;
 private Integer pageNo = 0;
 
 public Integer getPageNo() {
  return pageNo;
 }
 
 public void setPageNo(Integer pageNo) {
  this.pageNo = pageNo;
 }
 
 public Integer getPageSize() {
  return pageSize;
 }
 
 public void setPageSize(Integer pageSize) {
  this.pageSize = pageSize;
 }
}

web 頁面 index.jsp

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
pageContext.setAttribute("basePath", basePath);
%>
 
<!DOCTYPE HTML>
<html>
 <head>
 <title>分頁</title>
 <style>
  body{background:url("resource/images/78788.jpg");background-size:cover;}
  .titless{font-size: 34px;text-align: center;color: black;margin-bottom: 16px;}
  .ke_tabbox{min-height:556px;width:900px;background:#f9f9f9;margin:20px auto 0;padding:6px;position:relative;}
   .ke_tabbox .sendMy{text-align: center;
     font-family: "微軟雅黑";
     font-size: 28px;
     -webkit-text-fill-color: transparent;
     background: -webkit-gradient(linear,left top,left bottom,from(#FD8700),to(#FF00B1));
     -webkit-background-clip: text;
     margin:8px auto 0;line-height: 35px;}
   .ke_tabbox .ke_table{width:100%;margin-top: 26px;}
   .ke_tabbox th{background:#ccc;font-weight:bold;}
   .ke_tabbox .ke_table td,th{overflow: hidden;white-space: nowrap;text-overflow: ellipsis;border:1px solid #fff;padding:4px 12px;color:#666;font-size:12px;}
   /*分頁相關(guān)*/
   .tzPage{font-size: 12px;position: absolute;top: 480px;right: 0px;}
   
   #tbody tr:hover{background:#eaeaea;}
   #tbody .t_mode{padding-right:4px;}
   #tbody .t_avbiaoq:hover{color:#FF6857;transition:.4s}
   #tbody .t_dele{padding-left:4px;}
 
   .tzPage a{text-decoration:none;border:none;color:#7d7d7d;background-color:#f2f2f2;border-radius: 3px;}
   .tzPage a:hover{background:#dd5862;color:#FFF;}
   .tzPage a,.tzPage span{display:block;float:left;padding:0em 0.5em;margin-right:5px;margin-bottom:5px;min-width:1em;text-align:center;line-height: 22px;height: 22px;}
   .tzPage .current{background:#dd5862;color:#FFF;border:none;border-radius: 3px;}
   .tzPage .current.prev,.tzPage .current.next{color:#999;border:1px solid #e5e5e5;background:#fff;}
   .tm_psize_go{margin-right:4px;float:left;height:24px;line-height:33px;position:relative;border:1px solid #e5e5e5;color:#999}
   #tm_pagego{border-radius:3px;height:18px;width:30px;float:left;text-align:center;border:1px solid #e5e5e5;line-height: 22px;color:#999}
   .sortdesc{border-top:5px solid;width:0px;height:0px;display:inline-block;vertical-align:middle;border-right:5px solid transparent;border-left:5px solid transparent;margin-left:5px;}
   .sortasc{border-bottom:5px solid;width:0px;height:0px;display:inline-block;vertical-align:middle;border-right:5px solid transparent;border-left:5px solid transparent;margin-left:5px;}
   .red{color:red}
   .green{color:green}
   
   .hideAdd{height: 300px;
     text-align: center;
     line-height: 300px;
     margin-top: 16px;display:none;}
   .hideAdd a{font-size:28px;-webkit-text-fill-color:transparent;background: -webkit-gradient(linear,left top,left bottom,from(#FD0051),to(#A22C93));-webkit-background-clip: text;}
 </style>
 </head>
 
 <body>
  <div class="ke_tabbox">
   <p class="titless">分頁展示</p>
  <table class="ke_table">
   <thead>
    <tr>
     <th style="width:25%">標(biāo)題</th>
     <th style="width:25%">音樂人</th>
     <th style="width:30%">音樂標(biāo)題</th>
     <th style="width:20%">發(fā)布時間</th>
    </tr>
   </thead>
   
   <tbody id="tbody" data-itemcount="${coutBlogs}">
    <c:forEach var="blog" items="${blogs}">
     <tr>
      <td><a class="t_avbiaoq" title="${blog.TITLE}">${blog.TITLE}</a></td>
      <td><a class="t_avbiaoq" title="${blog.MUSICTOR}">${blog.MUSICTOR}</a></td>
      <td><a class="t_avbiaoq" title="${blog.MUSICTITLE}">${blog.MUSICTITLE}</a></td>
      <td>${blog.CREATETIME}</td>
     </tr>
    </c:forEach>
   </tbody>
  </table>
  <div id="krryPage"></div>
 </div>
 <script type="text/javascript" src="${basePath}/resource/js/jquery-1.11.3.min.js"></script>
 <script type="text/javascript" src="${basePath}/resource/js/krry_page.js"></script>
 <script type="text/javascript">var basePath = "${basePath}";</script>
 <script type="text/javascript">
  
  var krryAdminBlog = {
   initPage:function(itemCount){
    $("#krryPage").tzPage(itemCount, {
     num_display_entries : 5, //主體頁數(shù)
     num_edge_entries : 4,//邊緣頁數(shù)
     current_page : 0,//指明選中頁碼
     items_per_page : 10, //每頁顯示多少條
     prev_text : "上一頁",
     next_text : "下一頁",
     showGo:true,//顯示
     showSelect:false,
     callback : function(pageNo, psize) {//會回傳兩個參數(shù),第一個是當(dāng)前頁數(shù),第二個是每頁要顯示的數(shù)量
      krryAdminBlog.loadData(pageNo,psize);
     }
    });
   },
   //設(shè)置data參數(shù):pageNo(下一頁):就是當(dāng)前頁數(shù) * 下一頁要顯示的數(shù)量
   //   pageSize(下一頁):已經(jīng)查詢出來的數(shù)量(pageNo) + 每頁要顯示的數(shù)量
   //在數(shù)據(jù)庫中是 WN <= pageSize and WN > pageNo 來查詢分頁數(shù)據(jù)
   loadData:function(pageNo,pageSize){
    pageNo = pageNo * pageSize;
    pageSize = pageNo + 10;
    $.ajax({
     type:"post",
     url:basePath+"/loadData",
     data:{pageNo:pageNo,pageSize:pageSize},
     success:function(data){
      if(data){
       var html = "";
       var blogArr = data.blogs;
       for(var i=0,len=blogArr.length;i < len;i++){
        var json = blogArr[i];
        html+= "<tr>"+
        " <td><a class='t_avbiaoq' id="codetool">

分頁效果圖:

java ssm框架實(shí)現(xiàn)分頁功能的示例代碼(oracle)

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:http://www.cnblogs.com/ainyi/p/8598217.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久热免费视频 | 国产精品毛片久久久久久久 | 韩日精品一区 | 97精品一区二区 | 国产一级毛片国语一级 | 黄色小视频免费 | 99国产精品99久久久久久 | 久久亚洲国产 | 国产99久久 | 成人中文字幕在线观看 | 国产精品网站在线观看 | 久久综合九色 | 亚洲视频一区二区在线观看 | 欧美午夜精品久久久久久人妖 | 在线无码 | 午夜久久乐 | 91精品国产福利在线观看 | 小情侣高清国产在线播放 | 日韩av一区二区在线观看 | 岛国搬运工av在线播放 | 国产片性视频免费播放 | 天堂在线中文字幕 | 午夜精品福利在线观看 | 亚洲精品久久 | 成人精品视频在线观看 | 特级毛片在线大全免费播放 | 日本一区二区三区四区 | 免费日韩精品 | 色花av | 精品视频一区二区三区 | 欧洲精品| 免费久草| 精品免费视频 | 国产精品一区二区三区四区五区 | 青青av | 欧美亚洲综合久久 | 欧美成人激情视频 | 在线第一页 | 免费观看一级毛片 | 久久人人爽人人爽 | 精品国精品国产自在久不卡 |
        <code id="wutcq"></code>