ibatis java分页sql语句怎么写
3个回答
展开全部
so easy 你在IDAO中创建一个方法带两个参数,public List<泛型> XXX(int page ,int max
Page);
DAO中实现XXX方法
this.getAqlMapClientTemplate.........queryForList("不介绍了",page
-1*maxPage,maxPage)
还有必须要有一个得到所有行数的方法,在IBATIS中写出,之后Action定义一个if的方法
int countRow == 得到的所有行
List list = 分页的方法
int countPage == 0
if(countRow%10==0) {
countPage = countRow/10
}else {
countPage = countRow/10+1
}
之后就是传到页面了
知道代码没用,主要要知道为什么这么写,第一 分页我们必须知道有多少个消息就是count,还要根据每页多少行数据来进行分页,很详细了 给最佳吧,还不懂就找我
Page);
DAO中实现XXX方法
this.getAqlMapClientTemplate.........queryForList("不介绍了",page
-1*maxPage,maxPage)
还有必须要有一个得到所有行数的方法,在IBATIS中写出,之后Action定义一个if的方法
int countRow == 得到的所有行
List list = 分页的方法
int countPage == 0
if(countRow%10==0) {
countPage = countRow/10
}else {
countPage = countRow/10+1
}
之后就是传到页面了
知道代码没用,主要要知道为什么这么写,第一 分页我们必须知道有多少个消息就是count,还要根据每页多少行数据来进行分页,很详细了 给最佳吧,还不懂就找我
展开全部
1、首先定义一个拦截器,拦截sql,进行自动分页sql拼写。
2、通过页码page以及每页记录大小pageSize计算出当前查询的记录起始序号index
3、将index,pageSize构造RowBounds对象rowBounds
4、将rowBounds作为第一个参数传递给mapper的方法,记得一定是放在第一个参数。
5、在mapper中定义好对应的方法与mapper.xml中的sql中的id一致即可。
示例:
RowBounds rowBounds = null;
int currentPage = param.getCurrentPage();
rowBounds = new RowBounds((currentPage - 1) * pageSize);
List<Student> list = studentMapper.selectByExample(rowBounds, example);
Mapper中方法:
List<Student> selectByExample(RowBounds rowBounds, StudentExample example);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-07-26
展开全部
<select id="aa" resultMap="aaLogMap"
parameterClass="aaa">
select * from tablename where user=#user:String# order by date limit
#start:Integer#,#end:Integer#
</select>
parameterClass="aaa">
select * from tablename where user=#user:String# order by date limit
#start:Integer#,#end:Integer#
</select>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询