一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

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

服務器之家 - 編程語言 - Java教程 - mybatis分頁效果實現代碼

mybatis分頁效果實現代碼

2020-09-09 13:40java大渣渣 Java教程

這篇文章主要為大家詳細介紹了mybatis分頁效果的實現代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文為大家分享了mybatis分頁效果展示的具體代碼,供大家參考,具體內容如下

mybatis版本3.4以下

結構:

mybatis分頁效果實現代碼

spring-mvc.xml

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?xml version="1.0" encoding="utf-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
 xmlns="http://www.springframework.org/schema/beans"
  xmlns:p="http://www.springframework.org/schema/p"
 xmlns:context="http://www.springframework.org/schema/context"
 xsi:schemalocation="http://www.springframework.org/schema/beans
 http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
 http://www.springframework.org/schema/context
 http://www.springframework.org/schema/context/spring-context-4.3.xsd">
<!-- 自動掃描加載注解的包 -->
<context:component-scan base-package="com.ij34.bean"/>
<bean id="viewresolver" class="org.springframework.web.servlet.view.internalresourceviewresolver">
<property name="prefix" value="/web-inf/view/"></property>
<property name="suffix" value=".jsp" ></property>
</bean>
 
</beans>

com.ij34.mybatis

applicationcontext.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"?>
<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
  xmlns:context="http://www.springframework.org/schema/context"
  xsi:schemalocation="
   http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
   http://www.springframework.org/schema/context
   http://www.springframework.org/schema/context/spring-context-4.3.xsd"
   default-autowire="byname" default-lazy-init="false">
 <!-- showcase's customfreemarkermanager example -->
 <bean id="datasource" class="org.apache.commons.dbcp2.basicdatasource">
  <property name="driverclassname" value="com.mysql.jdbc.driver"></property>
  <property name="url" value="jdbc:mysql://localhost:3306/mybatis"></property>
  <property name="username" value="root"></property>
  <property name="password" value="123456"></property>
 </bean>
 <bean id="transactionmanager" class="org.springframework.jdbc.datasource.datasourcetransactionmanager">
  <property name="datasource" ref="datasource" />
 </bean>
 <bean id="sqlsessionfactory" class="org.mybatis.spring.sqlsessionfactorybean">
  <property name="datasource" ref="datasource"></property>
  <property name="configlocation" value="classpath:com/ij34/mybatis/mybatis-config.xml"></property>
  <property name="mapperlocations" value="classpath:com/ij34/mybatis/usermapper.xml"></property>
 </bean>
<bean class="org.mybatis.spring.mapper.mapperscannerconfigurer">
 <property name="basepackage" value="com.ij34.model"></property>
 <property name="sqlsessionfactory" ref="sqlsessionfactory" />
</bean>
</beans>

mybatis-config.xml

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?xml version="1.0" encoding="utf-8" ?>
<!doctype configuration
 public "-//mybatis.org//dtd config 3.0//en"
 "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<typealiases>
<typealias type="com.ij34.model.article" alias="article"/>
<typealias type="com.ij34.model.user" alias="user"/>
<typealias type="com.ij34.pages.pageinfo" alias="pageinfo"/>
</typealiases>
 <plugins>
  <plugin interceptor="com.ij34.pages.pageplugin">
   <property name="dialect" value="mysql" />
   <property name="pagesqlid" value=".*listpage.*" />
  </plugin>
 </plugins>
</configuration>

usermapper.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
<?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.ij34.model.usermapper">
<resultmap type="article" id="resultaticlelist">
 <id property="id" column="aid"/>
 <result property="title" column="title"/>
 <result property="content" column="content"/>
 <association property="user" javatype="user">
 <id property="id" column="id"/>
 <result property="name" column="name"/>
 <result property="age" column="age"/>
 </association>
 </resultmap>
 <select id="selectarticle" parametertype="int" resultmap="resultaticlelist">
 select users.id,users.name,users.age,article.id aid,article.title,article.content from users,article
 where users.id=article.userid and users.id=#{id}
 </select>
 
 <select id="listpage" resultmap="resultaticlelist">
 select users.id,users.name,users.age,article.id aid,article.title,article.content from users,article
 where users.id=article.userid and users.id=#{userid}
 </select>
 
 </mapper>

com.ij34.model

user.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
package com.ij34.model;
 
public class user {
 private int id;
 private string name;
 private int age;
 
 
 public int getid() {
 return id;
}
 
public void setid(int id) {
 this.id = id;
}
 
public string getname() {
 return name;
}
 
public void setname(string name) {
 this.name = name;
}
 
public int getage() {
 return age;
}
 
public void setage(int age) {
 this.age = age;
}
public string tostring() {
 return "user [id=" + id + ", name=" + name + ", age=" + age + "]";
}
 
 
}

article.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
package com.ij34.model;
 
public class article {
 private int id;
 private user user;
 private string title;
 private string content;
 
public string getcontent() {
 return content;
}
public void setcontent(string content) {
 this.content = content;
}
public int getid() {
 return id;
}
public void setid(int id) {
 this.id = id;
}
public user getuser() {
 return user;
}
public void setuser(user user) {
 this.user = user;
}
public string gettitle() {
 return title;
}
public void settitle(string title) {
 this.title = title;
}
 
 
}

usermapper.java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
package com.ij34.model;
 
import java.util.list;
 
import org.apache.ibatis.annotations.param;
 
import com.ij34.pages.pageinfo;
 
public interface usermapper {
  
 public list<article> selectarticle(int id);
 public list<article> listpage(@param("page") pageinfo page,@param("userid") int userid);
}

com.ij34.pages

參考網上的分頁插件

pageinfo.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
package com.ij34.pages;
 
import java.io.serializable;
 
public class pageinfo implements serializable {
 
 private static final long serialversionuid = 587754556498974978l;
 
 //pagesize ,每一頁顯示多少
 private int showcount = 9;
 //總頁數
 private int totalpage;
 //總記錄數
 private int totalresult;
 //當前頁數
 private int currentpage;
 //當前顯示到的id, 在mysql limit 中就是第一個參數.
 private int currentresult;
 private string sortfield;
 private string order;
 
 
 public int getshowcount() {
  return showcount;
 }
 public void setshowcount(int showcount) {
  this.showcount = showcount;
 }
 public int gettotalpage() {
  return totalpage;
 }
 public void settotalpage(int totalpage) {
  this.totalpage = totalpage;
 }
 public int gettotalresult() {
  return totalresult;
 }
 public void settotalresult(int totalresult) {
  this.totalresult = totalresult;
 }
 public int getcurrentpage() {
  return currentpage;
 }
 public void setcurrentpage(int currentpage) {
  this.currentpage = currentpage;
 }
 public int getcurrentresult() {
  return currentresult;
 }
 public void setcurrentresult(int currentresult) {
  this.currentresult = currentresult;
 }
 public string getsortfield() {
  return sortfield;
 }
 public void setsortfield(string sortfield) {
  this.sortfield = sortfield;
 }
 public string getorder() {
  return order;
 }
 public void setorder(string order) {
  this.order = order;
 }
 
 
}

pageplugin.java

@intercepts({ @signature(type = statementhandler.class, method = "prepare", args = { connection.class }) })

要用3.4以下版本,可以參考官方

?
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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
package com.ij34.pages;
 
import java.lang.reflect.field;
import java.sql.connection;
import java.sql.preparedstatement;
import java.sql.resultset;
import java.sql.sqlexception;
import java.util.list;
import java.util.map;
import java.util.properties;
 
import javax.xml.bind.propertyexception;
 
import org.apache.ibatis.executor.errorcontext;
import org.apache.ibatis.executor.executorexception;
import org.apache.ibatis.executor.statement.basestatementhandler;
import org.apache.ibatis.executor.statement.routingstatementhandler;
import org.apache.ibatis.executor.statement.statementhandler;
import org.apache.ibatis.mapping.boundsql;
import org.apache.ibatis.mapping.mappedstatement;
import org.apache.ibatis.mapping.parametermapping;
import org.apache.ibatis.mapping.parametermode;
import org.apache.ibatis.plugin.interceptor;
import org.apache.ibatis.plugin.intercepts;
import org.apache.ibatis.plugin.invocation;
import org.apache.ibatis.plugin.plugin;
import org.apache.ibatis.plugin.signature;
import org.apache.ibatis.reflection.metaobject;
import org.apache.ibatis.reflection.property.propertytokenizer;
import org.apache.ibatis.scripting.xmltags.foreachsqlnode;
import org.apache.ibatis.session.configuration;
 
import org.apache.ibatis.type.typehandler;
import org.apache.ibatis.type.typehandlerregistry;
 
@intercepts({ @signature(type = statementhandler.class, method = "prepare", args = { connection.class }) })
public class pageplugin implements interceptor {
 
 private static string dialect = "";
 private static string pagesqlid = "";
 
 @suppresswarnings("unchecked")
 public object intercept(invocation ivk) throws throwable {
 
  if (ivk.gettarget() instanceof routingstatementhandler) {
   routingstatementhandler statementhandler = (routingstatementhandler) ivk
     .gettarget();
   basestatementhandler delegate = (basestatementhandler) reflecthelper
     .getvaluebyfieldname(statementhandler, "delegate");
   mappedstatement mappedstatement = (mappedstatement) reflecthelper
     .getvaluebyfieldname(delegate, "mappedstatement");
 
   if (mappedstatement.getid().matches(pagesqlid)) {
    boundsql boundsql = delegate.getboundsql();
    object parameterobject = boundsql.getparameterobject();
    if (parameterobject == null) {
     throw new nullpointerexception("parameterobject error");
    } else {
     connection connection = (connection) ivk.getargs()[0];
     string sql = boundsql.getsql();
     string countsql = "select count(0) from (" + sql + ") mycount";
     system.out.println("總數sql 語句:"+countsql);
     preparedstatement countstmt = connection
       .preparestatement(countsql);
     boundsql countbs = new boundsql(
       mappedstatement.getconfiguration(), countsql,
       boundsql.getparametermappings(), parameterobject);
     setparameters(countstmt, mappedstatement, countbs,
       parameterobject);
     resultset rs = countstmt.executequery();
     int count = 0;
     if (rs.next()) {
      count = rs.getint(1);
     }
     rs.close();
     countstmt.close();
 
     pageinfo page = null;
     if (parameterobject instanceof pageinfo) {
      page = (pageinfo) parameterobject;
      page.settotalresult(count);
     } else if(parameterobject instanceof map){
      map<string, object> map = (map<string, object>)parameterobject;
      page = (pageinfo)map.get("page");
      if(page == null)
       page = new pageinfo();
      page.settotalresult(count);
     }else {
      field pagefield = reflecthelper.getfieldbyfieldname(
        parameterobject, "page");
      if (pagefield != null) {
       page = (pageinfo) reflecthelper.getvaluebyfieldname(
         parameterobject, "page");
       if (page == null)
        page = new pageinfo();
       page.settotalresult(count);
       reflecthelper.setvaluebyfieldname(parameterobject,
         "page", page);
      } else {
       throw new nosuchfieldexception(parameterobject
         .getclass().getname());
      }
     }
     string pagesql = generatepagesql(sql, page);
     system.out.println("page sql:"+pagesql);
     reflecthelper.setvaluebyfieldname(boundsql, "sql", pagesql);
    }
   }
  }
  return ivk.proceed();
 }
 
 private void setparameters(preparedstatement ps,
   mappedstatement mappedstatement, boundsql boundsql,
   object parameterobject) throws sqlexception {
  errorcontext.instance().activity("setting parameters")
    .object(mappedstatement.getparametermap().getid());
  list<parametermapping> parametermappings = boundsql
    .getparametermappings();
  if (parametermappings != null) {
   configuration configuration = mappedstatement.getconfiguration();
   typehandlerregistry typehandlerregistry = configuration
     .gettypehandlerregistry();
   metaobject metaobject = parameterobject == null ? null
     : configuration.newmetaobject(parameterobject);
   for (int i = 0; i < parametermappings.size(); i++) {
    parametermapping parametermapping = parametermappings.get(i);
    if (parametermapping.getmode() != parametermode.out) {
     object value;
     string propertyname = parametermapping.getproperty();
     propertytokenizer prop = new propertytokenizer(propertyname);
     if (parameterobject == null) {
      value = null;
     } else if (typehandlerregistry
       .hastypehandler(parameterobject.getclass())) {
      value = parameterobject;
     } else if (boundsql.hasadditionalparameter(propertyname)) {
      value = boundsql.getadditionalparameter(propertyname);
     } else if (propertyname
       .startswith(foreachsqlnode.item_prefix)
       && boundsql.hasadditionalparameter(prop.getname())) {
      value = boundsql.getadditionalparameter(prop.getname());
      if (value != null) {
       value = configuration.newmetaobject(value)
         .getvalue(
           propertyname.substring(prop
             .getname().length()));
      }
     } else {
      value = metaobject == null ? null : metaobject
        .getvalue(propertyname);
     }
     typehandler typehandler = parametermapping.gettypehandler();
     if (typehandler == null) {
      throw new executorexception(
        "there was no typehandler found for parameter "
          + propertyname + " of statement "
          + mappedstatement.getid());
     }
     typehandler.setparameter(ps, i + 1, value,
       parametermapping.getjdbctype());
    }
   }
  }
 }
 
 
 private string generatepagesql(string sql, pageinfo page) {
  if (page != null && (dialect !=null || !dialect.equals(""))) {
   stringbuffer pagesql = new stringbuffer();
   if ("mysql".equals(dialect)) {
    pagesql.append(sql);
    pagesql.append(" limit " + page.getcurrentresult() + ","
      + page.getshowcount());
   } else if ("oracle".equals(dialect)) {
    pagesql.append("select * from (select tmp_tb.*,rownum row_id from (");
    pagesql.append(sql);
    pagesql.append(") tmp_tb where rownum<=");
    pagesql.append(page.getcurrentresult() + page.getshowcount());
    pagesql.append(") where row_id>");
    pagesql.append(page.getcurrentresult());
   }
   return pagesql.tostring();
  } else {
   return sql;
  }
 }
 
 public object plugin(object arg0) {
  // todo auto-generated method stub
  return plugin.wrap(arg0, this);
 }
 
 public void setproperties(properties p) {
  dialect = p.getproperty("dialect");
  if (dialect ==null || dialect.equals("")) {
   try {
    throw new propertyexception("dialect property is not found!");
   } catch (propertyexception e) {
    // todo auto-generated catch block
    e.printstacktrace();
   }
  }
  pagesqlid = p.getproperty("pagesqlid");
  if (dialect ==null || dialect.equals("")) {
   try {
    throw new propertyexception("pagesqlid property is not found!");
   } catch (propertyexception e) {
    // todo auto-generated catch block
    e.printstacktrace();
   }
  }
 }
 
 
}

reflecthelper.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
package com.ij34.pages;
 
import java.lang.reflect.field;
 
 
public class reflecthelper {
 public static field getfieldbyfieldname(object obj, string fieldname) {
  for (class<?> superclass = obj.getclass(); superclass != object.class; superclass = superclass
    .getsuperclass()) {
   try {
    return superclass.getdeclaredfield(fieldname);
   } catch (nosuchfieldexception e) {
   }
  }
  return null;
 }
 
 
 public static object getvaluebyfieldname(object obj, string fieldname)
   throws securityexception, nosuchfieldexception,
   illegalargumentexception, illegalaccessexception {
  field field = getfieldbyfieldname(obj, fieldname);
  object value = null;
  if(field!=null){
   if (field.isaccessible()) {
    value = field.get(obj);
   } else {
    field.setaccessible(true);
    value = field.get(obj);
    field.setaccessible(false);
   }
  }
  return value;
 }
 
 
 public static void setvaluebyfieldname(object obj, string fieldname,
   object value) throws securityexception, nosuchfieldexception,
   illegalargumentexception, illegalaccessexception {
  field field = obj.getclass().getdeclaredfield(fieldname);
  if (field.isaccessible()) {
   field.set(obj, value);
  } else {
   field.setaccessible(true);
   field.set(obj, value);
   field.setaccessible(false);
  }
 }
 
}

com.ij34.bean 

 

?
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
package com.ij34.bean;
 
import java.util.list;
 
import javax.servlet.http.httpservletrequest;
import javax.servlet.http.httpservletresponse;
 
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.stereotype.controller;
import org.springframework.web.bind.annotation.requestmapping;
import org.springframework.web.servlet.modelandview;
 
import com.ij34.model.*;
import com.ij34.pages.pageinfo;
 
@controller
@requestmapping("/article")
public class test {
 @autowired
 usermapper mapper;
 
 @requestmapping("/list")
 public modelandview listall(httpservletrequest request,httpservletresponse response){
  list<article> articles=mapper.selectarticle(1);
  //制定視圖,也就是list.jsp
  modelandview mav=new modelandview("list");
  mav.addobject("articles",articles);
  return mav;
 }
 
 
 @requestmapping("/pagelist")
 public modelandview pagelist(httpservletrequest request,httpservletresponse response){
  int currentpage = request.getparameter("page")==null?1:integer.parseint(request.getparameter("page"));
  int pagesize = 9;
  if (currentpage<=1){
   currentpage =1;
  }
  int currentresult = (currentpage-1) * pagesize;
  
  system.out.println(request.getrequesturi());
  system.out.println(request.getquerystring());
  
  pageinfo page = new pageinfo();
  page.setshowcount(pagesize);
  page.setcurrentresult(currentresult);
  list<article> articles=mapper.listpage(page,1);
  
  system.out.println(page);
  
  int totalcount = page.gettotalresult();
  
  int lastpage=0;
  if (totalcount % pagesize==0){
   lastpage = totalcount % pagesize;
  }
  else{
   lastpage =1+ totalcount / pagesize;
  }
  
  if (currentpage>=lastpage){
   currentpage =lastpage;
  }
  
  string pagestr = "";
  pagestr=string.format("<a href=\"%s\">上一頁</a>    <a href=\"%s\">下一頁</a>",
      request.getrequesturi()+"?page="+(currentpage-1),request.getrequesturi()+"?page="+(currentpage+1) );
 
  //制定視圖,也就是list.jsp
  modelandview mav=new modelandview("list");
  mav.addobject("articles",articles);
  mav.addobject("pagestr",pagestr);
  return mav;
 }
/* public modelandview show(){//@requestparam 請求參數
  list<article> articles=mapper.selectarticle(1);
  modelandview mav=new modelandview("list");
  mav.addobject("articles", articles);
 return mav;
 
 }*/
}

webcontent

web.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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemalocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="webapp_id" version="2.5">
 <display-name>mybatis_springmvc</display-name>
 <welcome-file-list>
 <welcome-file>index.jsp</welcome-file>
 </welcome-file-list>
 <context-param>
 <param-name>contextconfiglocation</param-name>
 <param-value>classpath:com/ij34/mybatis/applicationcontext.xml</param-value>
 </context-param>
 <listener>
 <listener-class>org.springframework.web.context.contextloaderlistener</listener-class>
 </listener>
 <listener>
 <listener-class>
   org.springframework.web.context.contextcleanuplistener</listener-class>
 </listener>
 <servlet>
 <servlet-name>springdispatcherservlet</servlet-name>
 <servlet-class>org.springframework.web.servlet.dispatcherservlet</servlet-class>
 <init-param>
  <param-name>contextconfiglocation</param-name>
  <param-value>classpath:spring-mvc.xml</param-value>
 </init-param>
 </servlet>
 <servlet-mapping>
 <servlet-name>springdispatcherservlet</servlet-name>
 <url-pattern>/</url-pattern>
 </servlet-mapping>
 <filter>
 <filter-name>characterencodingfilter</filter-name>
 <filter-class>org.springframework.web.filter.characterencodingfilter</filter-class>
 <init-param>
  <param-name>encoding</param-name>
  <param-value>utf8</param-value>
 </init-param>
 <init-param>
  <param-name>forceencoding</param-name>
  <param-value>true</param-value>
 </init-param>
 </filter>
 <filter-mapping>
 <filter-name>characterencodingfilter</filter-name>
 <url-pattern>*</url-pattern>
 </filter-mapping>
</web-app>

index.jsp

?
1
2
3
4
5
6
7
8
9
10
11
12
<%@ page language="java" contenttype="text/html; charset=utf-8"
 pageencoding="utf-8"%>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>insert title here</title>
</head>
<body>
 <a href="article/list" rel="external nofollow" >不分頁測試</a><br /><p />
 <a href="article/pagelist" rel="external nofollow" >分頁測試</a>
</body>
</html>

list.jsp

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<%@ page language="java" contenttype="text/html; charset=utf-8"
 pageencoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http://www.w3.org/tr/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>insert title here</title>
</head>
<body>
<table>
<c:foreach var="article" items="${articles}">
<tr><td>${article.id} |</td><td> ${article.title}|</td><td> ${article.content}|</td><td>${article.user}</td> </tr>
</c:foreach>
</table>
<h4>${pagestr}</h4>
</body>
</html>

結果

mybatis分頁效果實現代碼

mybatis分頁效果實現代碼

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲冬月枫中文字幕在线看 | 交欧美 | 小舞丝袜调教喷水沦为肉奴 | 青草欧美 | 亚洲欧美另类专区 | 思敏1一5集国语版免费观看 | 乌克兰一级毛片 | 亚洲精品91在线 | 嫩草香味 | fulao在线观看的 | 日韩成人在线免费视频 | 动漫美女人物被黄漫在线看 | 色噜噜国产精品视频一区二区 | 国产亚洲欧美成人久久片 | 91好色| 青青草原国产视频 | 91久久国产视频 | 热伊人99re久久精品最新地 | 亚洲精品福利你懂 | 火影小南被爆羞羞网站 | 手机在线观看精品国产片 | 成人α片| 日本免费高清在线 | 欧美精品国产一区二区 | 99热免费在线观看 | 男人在女人下面狂躁 | 国产亚洲精品一区久久 | 99精品国产久热在线观看66 | 国产精品久久久天天影视香蕉 | a级精品九九九大片免费看 a级动漫 | 精品网站一区二区三区网站 | 亚洲成人网导航 | 国产精品视频免费看 | 91制片厂官网 | 歪歪私人影院成人毛片 | 国产精品福利在线观看免费不卡 | 高清免费毛片 | free性泰国娇小videos | 91普通话国产对白在线 | 美女脱了内裤打开腿让人羞羞软件 | 日本b站一卡二不卡三卡四卡 |