ibatis分页做法

ibatis分页做法 

以前用ibatis做分页的时候,是用的queryforList()方法,后面感觉不好,因为我看过一些ibatis的源码,感觉它好像是用resultset的滚动游标的方式实现的,这样如果数据量大会不会有问题呢?以前用jdbc的时候是用一个stringbuffer来构造oracle(我们用的是oracle,其它数据库有各自的方法)的三层钳套的sql语句的,做ibatis时语句都是写在xml配置文件里面的,不好做这种构造工作。后来想了葛简单的办法:
在domain包里面定义一个basedomain类:
public class Basedomain {

private int start;
private int end;
/**
* @return Returns the end.
*/
public int getEnd() {
return end;
}
/**
* @param end The end to set.
*/
public void setEnd(int end) {
this.end = end;
}
/**
* @return Returns the start.
*/
public int getStart() {
return start;
}
/**
* @param start The start to set.
*/
public void setStart(int start) {
this.start = start;
}

}
包含两个成员变量
start: 取数据时的起始位置
end: 取数据时的结束位置

然后各个实体类将继承这个basedomain类
然后在要分页的sql语句里面加上三层钳套的sql语句,两个rownum参数分别就是上面的start和end。
以下是一个示例:
select * from (select my_table.*,rownum as my_rownum from (
select name,password from user   order by id desc
=#start# ]]>   
这就是我的ibatis分页的办法,不知道大家觉得如何?呵呵!

]]>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值