mybatis+oracle实现分页查询--非常简单实用
来源:互联网 发布:网络文学创作与欣赏 编辑:程序博客网 时间:2024/05/21 18:48
</pre>前几天刚学习了mybatis,之后就在我写的某个列子中加上一层mybatis来访问oracle数据库,一般的增删改查经过测试都没有问题,唯一留下oracle的分页查询,一开始自然而然的就想当然的把oracle分页查询语句写进userInfo.xml中<p></p><p></p><pre name="code" class="html"><select id="queryUserListForPage" parameterclass="Page" resultmap="UserInfoResult">select * from (select t.*, ROWNUM RM from (select * from tb_user_info) t where ROWNUM<=#max# ) where RM> #offset#</select>
但该xml文件会报语法错误,不信,运行果然出错了,尝试多种方法之后还是不行。最后想到了一种流氓的办法终于搞定了
废话不说 代码说话
userInfo.xml
<select id="queryUserListForPage" parameterClass="string" resultMap="UserInfoResult">$sql$</select>
package com.is.dao.ibatis.impl;/** * Oracle分页查询语句生成类 为ibatis实现分页设计 * * @author qiulongjie * */public class PageInfo {private int offset;private int max;private String sql;public PageInfo() {}public PageInfo(int offset, int max) {this.offset = offset;this.max = max;this.sql = "select * from (select t.*, ROWNUM RM from (select * from tb_user_info) t where ROWNUM<=" + this.max+ " ) where RM> " + this.offset;System.out.println(sql);}public String getSql() {return sql;}public void setSql(String sql) {this.sql = sql;}public int getOffset() {return offset;}public void setOffset(int offset) {this.offset = offset;}public int getMax() {return max;}public void setMax(int max) {this.max = max;}}
数据访问层的数据查询代码
public List<UserInfo> getUserInfoForPage(int offset, int max) {List<UserInfo> userInfos = new ArrayList<UserInfo>();try {userInfos = IbatisUtil.getSqlMapClient().queryForList("queryUserListForPage",new PageInfo(offset, max).getSql());} catch (SQLException e) {e.printStackTrace();}return userInfos;}
这样就搞定了!!不过这有安全上的问题
- mybatis+oracle实现分页查询--非常简单实用
- mybatis+oracle实现分页查询--非常简单实用
- Mybatis-实现ORACLE分页查询
- Mybatis+Oracle实现按条件分页查询
- Mybatis+Oracle实现按条件分页查询
- 分页查询简单实现(Freemarker+SpringMVC+Mybatis)
- springmvc+Mybatis 分页查询的简单实现
- oracle+mybatis分页查询
- oracle分页查询过程的简单实现
- MyBatis分页实现 - Oracle
- mybatis实现简单分页
- mybatis+easyui+Oracle分页查询
- mybatis分页插件pageHelper简单实用
- 非常实用分页控件
- 简单实用oracle sql查询
- Mybatis实现真正分页查询
- Mybatis实现数据库分页查询
- MyBatis分页的简单实现
- new/delete 和malloc/free 的区别
- 【WINDOWS】hyper-v下自动创建VM_powershell脚本实现_powershell简介
- Typedef inside template class
- 【Cocos2d-X游戏实战开发】捕鱼达人之菜单按钮的创建(四)
- 找工作-乱七八糟资料
- mybatis+oracle实现分页查询--非常简单实用
- 输入结束的符--空白格的那点小事
- std::tr1::function
- CentOS系统上vsftpd的安装和相关配置
- Genymotion中如何访问本机的Web项目
- 04-布局方式 ---表格布局实例
- K Best poj 3111 (01分数规划---二分搜索)
- 计算机网络学习笔记——计算机网络概述
- MyEclipse中“Save could not be completed”问题解决