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
方式一:
 
调用它的分页方法:List result = sqlMapClient.queryForList(sqlid, parameterObject, begin, length);
 
方式二:
 
利用不同数据库的特点,把分页的条件作为参数传进去,在SQL语句处拼接。如MYSQL数据库可以使用它的limit函数。
 
比较:方式二比较通用,只需调用相同的方法,即可实现分页或者不分页,此时分页的参数只是做为普通的参数。
 
         方式一比较简单,在SQL语句处无需关注分页的问题,ibatis会自动帮你分页(因为你调用了它的分页方法)。
 
示例代码:
 
方式一的代码:
 
Map parameterObject= new HashMap();
String  sqlid="address.getAddressList";
 
int begin=0;
 
int length=25
 
List result = sqlMapClient.queryForList(sqlid, parameterObject, begin, length);
 
  <select id="getAddressList" parameterClass="java.util.HashMap" resultClass="last.soul.common.beans.Address">
    select id, username, name, sex, mobile, email, qq, company, address, postcode
    from address
  </select>
 
 
方式二的代码:
 
 Map parameterObject= new HashMap();
 parameterObject.put("orderByClause", "username asc");
 parameterObject.put("limimitClauseStart", startIndex);
 parameterObject.put("litClauseCount", pageSize);
 String  sql="address.getAddressList";
 
List result = sqlMapClient.queryForList(sql, parameterObject);
 
<select id="getAddressList" parameterClass="java.util.HashMap" resultClass="last.soul.common.beans.Address">
    select id, username, name, sex, mobile, email, qq, company, address, postcode
    from address
    <isParameterPresent>
      <isNotNull property="orderByClause">
        order by $orderByClause$
      </isNotNull>
      <isNotNull property="limitClauseStart">
        limit $limitClauseStart$, $limitClauseCount$
      </isNotNull>
    </isParameterPresent>
  </select>

ibatis分页的两种方式的更多相关文章

  1. springmvc+jpa实现分页的两种方式

    1.工具类 public final class QueryTool { public static PageRequest buildPageRequest(int pageNumber, int ...

  2. yii2-搜索带分页,分页的两种方式

    1.文章表关联 <?php //...other code //关联 public function getCate(){ return $this->hasOne(ArticleCate ...

  3. django分页的两种方式

    第一种自定义分页: def pageDemo(request): ''' 自定义分页] :param request: :return: ''' currentpage=request.GET.get ...

  4. oracle 分页的两种方式

    实例:查询5-8名学生的姓名与成绩 --oracle的分页1 between 方式(分三次查询,第一次只作排序,第二次给表加上rownum序列,第三次为查询结果) select s.scorenumb ...

  5. mysql中用limit 进行分页有两种方式

    代码示例:语句1: select * from student limit 9,4 语句2: slect * from student limit 4 offset 9 // 语句1和2均返回表stu ...

  6. vue+ springboot 分页(两种方式:sql分页 & PageHelper 分页)

    方法一:sql分页 思路:使用数据库进行分页   前端使用element-ui的分页组件,往后台传第几页的起始行offest 以及每页多少行pageSize,后台根据起始行数和每页的行数可以算出该页的 ...

  7. bootstrap table分页(前后端两种方式实现)

    bootstrap table分页的两种方式: 前端分页:一次性从数据库查询所有的数据,在前端进行分页(数据量小的时候或者逻辑处理不复杂的话可以使用前端分页) 服务器分页:每次只查询当前页面加载所需要 ...

  8. Sql Server 聚集索引扫描 Scan Direction的两种方式------FORWARD 和 BACKWARD

    最近发现一个分页查询存储过程中的的一个SQL语句,当聚集索引列的排序方式不同的时候,效率差别达到数十倍,让我感到非常吃惊 由此引发出来分页查询的情况下对大表做Clustered Scan的时候, 不同 ...

  9. springmvc和servlet在上传和下载文件(保持文件夹和存储数据库Blob两种方式)

    参与该项目的文件上传和下载.一旦struts2下完成,今天springmvc再来一遍.发现springmvc特别好包,基本上不具备的几行代码即可完成,下面的代码贴: FileUpAndDown.jsp ...

随机推荐

  1. vi/vim滚动屏幕

    VIM帮助文档如是说 Q_sc Scrolling CTRL-E N CTRL-E window N lines downwards (default: 1) CTRL-D N CTRL-D wind ...

  2. nginx 搭建虚拟主机

    一.排错三部曲 第一步在客户端上ping服务端ip  ping 10.0.0.8 第二部在客户端上telnet服务器端IP.端口  telnet 10.0.0.8 第三部在客户端使用wget命令检测 ...

  3. 要成为一个 Java 架构师得学习哪些知识?

    作者:zhuqz链接:https://www.zhihu.com/question/29031276/answer/54631312来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...

  4. 织梦dedecms 扩展channel栏目标签 获取交叉栏目名称和链接

    channel栏目标签默认有调用顶级栏目(top).子栏目(son).同级栏目(self),那想获取交叉栏目的名称和链接怎么获取呢? 其实在原来的代码上改一下就可以了.下面是具体代码.打开文件chan ...

  5. 使用 sqoop 将mysql数据导入到hive表(import)

    Sqoop将mysql数据导入到hive表中 先在mysql创建表 CREATE TABLE `sqoop_test` ( `id` ) DEFAULT NULL, `name` varchar() ...

  6. Oracle的PL_SQL的结构

    --PL/SQL的结构 declare --声明变量和常量关键字 v_name nvarchar2(); v_age integer;--常规变量声明 v_product table_name.col ...

  7. codeforces 655D D. Robot Rapping Results Report(拓扑排序+拓扑序记录)

    题目链接: D. Robot Rapping Results Report time limit per test 2 seconds memory limit per test 256 megaby ...

  8. linux命令学习笔记(55):traceroute命令

    通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径.当然每次数据包 由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不 ...

  9. stl_list.h

    stl_list.h // Filename: stl_list.h // Comment By: 凝霜 // E-mail: mdl2009@vip.qq.com // Blog: http://b ...

  10. FFMPEG基于内存的转码实例——输入输出视频均在内存

    我在6月份写了篇文章<FFMPEG基于内存的转码实例>,讲如何把视频转码后放到内存,然后通过网络发送出去.但该文章只完成了一半,即输入的数据依然是从磁盘文件中读取.在实际应用中,有很多数据 ...