dao层查询函数语句
public List<Users> findUserPage(int start, int end) {
return this.getSqlMapClientTemplate().queryForList("findByPage", start, end);
}sqlmap中的语句这样:
<select id="findByPage" parameterClass="int" resultClass="user">
select * from (select sid,sname,ssex,sminzu,shome,smajor,scollege,sbirth,rownum rn from test_xs_student t where rownum <= $end$ order by t.sid) where rn > $start$</select>刚学ibatis,只是想运行起来这样简单的例子,我用的是oracle数据库,简单的增删改查都实现了,这个是我想实现从开始记录到结束记录之间的查找实现不了,我想知道我的dao层函数用法对吗?我看有的是见一个类里面封装了start,end等对象,让后通过这个对象给sqlmap里面的变量赋值。和我直接用两个int都一样实现吗?还有我这里写parameterClass="int"对吗?
public List<Users> findUserPage(int start, int end) {
return this.getSqlMapClientTemplate().queryForList("findByPage", start, end);
}sqlmap中的语句这样:
<select id="findByPage" parameterClass="int" resultClass="user">
select * from (select sid,sname,ssex,sminzu,shome,smajor,scollege,sbirth,rownum rn from test_xs_student t where rownum <= $end$ order by t.sid) where rn > $start$</select>刚学ibatis,只是想运行起来这样简单的例子,我用的是oracle数据库,简单的增删改查都实现了,这个是我想实现从开始记录到结束记录之间的查找实现不了,我想知道我的dao层函数用法对吗?我看有的是见一个类里面封装了start,end等对象,让后通过这个对象给sqlmap里面的变量赋值。和我直接用两个int都一样实现吗?还有我这里写parameterClass="int"对吗?
解决方案 »
- 数据库问题
- hibernate的配置文件属性:connection.autocommit=true有哪些缺点?为何不建议使用true呢????
- Hibernate 用 QBC 在使用复合查询时,还可不可以使用延迟加载功能?
- 在ssh的数据访问层查询出大量数据,是否应对数据进行封装?
- jms的queue发送接受的简单问题
- 客户端socket的一点问题??
- Class.forName("oracle.jdbc.driver.OracleDriver")出现异常!
- 请问,个人在学javaEE+Android,java的基础学完了,最好在学什么呢?
- jsp页面的,<s:iterstor>怎么取List里面的Set集合?
- cookie能不能监听?
- 请看下如下的警告信息应该如何解决?
- lucene 3.0 索引 解析pdf
但是 ibatis 内置了字符串对应:比如 int 就是 java.lang.Integer,float 就是 java.lang.Float
你简写没有问题,对应上就可以。你想实现真正的分页可以自己写sql直接实现。也可以http://blog.csdn.net/APOLLO_TS/archive/2010/02/24/5322156.aspx mysql数据库
Map<String, Integer> params = new HashMap<String, Integer>();
params.put("start", start);
params.put("end", end);
return this.getSqlMapClientTemplate().queryForList("findByPage", params);
}<select id="findByPage" parameterClass="java.util.Map" resultClass="user">这样试试
select * from (select sid,sname,ssex,sminzu,shome,smajor,scollege,sbirth,rownum rn from test_xs_student t where rownum <= $end$ order by t.sid) where rn > $start$
rownum是查询后加上去的,如果在查询中,你用它做为条件,应该没有一条记录吧