0 0

ibatis调用oracle分页存储过程? 5

oracle 分页:

create or replace procedure P_QuerySplit(
      sqlscript varchar2,    --表名/SQL语句
      pageSize integer,      --每页记录数
      pageIndex integer,      --当前页
      totalCount out number, --总记录数
      totalPage out number, --总页数
      v_cur out sys_refcursor --返回游标
      ) is
/**
  * by chenjianxin 2008-5-3
  *
  */   

v_PageSize number;
v_PageIndex number;
v_SQL_Count varchar2(4000);
v_SQL varchar2(4000);
v_StartIndex number;
v_EndIndex number;
begin
v_PageSize:=pageSize;
if v_PageSize=0 then
    v_PageSize:=1;
end if;

--统计记录数量
v_SQL_Count := 'select count(*) from (' ¦ ¦ sqlscript ¦ ¦') a ';
execute immediate v_SQL_Count into totalCount;
--计算总页数
totalPage:=CEIL(totalCount/v_PageSize);
--验证页号 如果页号大余了最大页数,返回最后一页
v_PageIndex:=pageIndex;
if v_PageIndex>totalPage then
    v_PageIndex:=totalPage;
end if;

--计算开始的Index和结束的Index
v_StartIndex:=(v_PageIndex-1)*v_PageSize+1;
v_EndIndex:=v_PageIndex*v_PageSize;

v_SQL:='SELECT /*+ FIRST_ROWS */* FROM (';
v_SQL:=v_SQL ¦ ¦' SELECT A.*, ROWNUM RN ';
v_SQL:=v_SQL ¦ ¦' FROM (' ¦ ¦sqlscript ¦ ¦') A ';
v_SQL:=v_SQL ¦ ¦' WHERE ROWNUM <= ' ¦ ¦v_EndIndex;
v_SQL:=v_SQL ¦ ¦')WHERE RN >= ' ¦ ¦v_StartIndex;

open v_cur for v_SQL;
end P_QuerySplit;


问题是传给ibatis中map中的那个游标参数应该如何写啊?
2008年8月29日 21:58
目前还没有答案

相关推荐

    ibatis调用oracle存储过程分页

    ibatis调用oracle存储过程分页

    SSI整合,有ibatis连接oracle的分页,ajax等技术

    "Ibatis连接Oracle的分页"是指利用Ibatis作为数据访问层,与Oracle数据库进行交互,并实现了分页查询功能。Oracle数据库支持多种分页方式,如ROWNUM伪列、ROWNUM配合子查询、ROW_NUMBER()窗口函数等。在这个项目中,...

    Ibatis 2.3.4 数据库无关分页

    在2.3.4这个版本中,Ibatis 提供了数据库无关的分页功能,这是一种在不依赖特定数据库语法的情况下实现分页查询的方法,有助于提高代码的可移植性和维护性。 数据库无关分页的核心思想是将分页参数(如当前页数和每...

    SSI框架搭建增删改查以及分页

    在这个项目中,我们将会深入探讨如何利用这些技术实现数据库的增删改查(CRUD)操作以及分页功能,并将其部署到Oracle数据库。 首先,Struts2作为MVC(模型-视图-控制器)框架,负责处理HTTP请求,协调应用的业务...

    ssi_struts2_spring_ibatis 增删改查分页

    标题中的"ssi_struts2_spring_ibatis"指的是一个基于Java技术栈的Web应用程序开发框架组合,主要包括Struts2、Spring和iBatis。这三个组件是企业级Java应用中的常见选择,它们各自承担着不同的职责。 1. **Struts2*...

    ibatis.net

    它们包含了SQL查询、存储过程的调用,并可以进行动态SQL构建。 2. Data Mapper:这是一个接口,开发者通过实现这个接口来定义数据访问逻辑。Ibatis.Net会自动处理SQL执行和结果集的映射。 3. DataSource:框架支持...

    ibatis 例子

    针对Oracle数据库,`ibatis`支持存储过程调用,可以通过`&lt;procedure&gt;`标签来执行。此外,Oracle的游标、分页、序列等特性也可以方便地在`ibatis`中使用。 10. **最佳实践** 在实际应用中,应遵循良好的设计原则,...

    jqgrid+struts2+ibatis增删改查

    在iBatis中,通过编写XML配置文件或注解来定义SQL查询和存储过程,使得数据操作更加便捷。在"ibatis+oracle"的场景下,开发者可以编写SQL语句来操作Oracle数据库,实现数据的增删改查。 最后,Oracle数据库是企业级...

    struts1.2+batis+spring2.0+oracle10g集成例子(增加了分页功能)

    这是一个基于老旧技术栈的Web应用集成示例,主要包括Struts1.2、iBatis(现为MyBatis)和Spring2.0框架,以及Oracle10g数据库。这个项目可能是一个初学者为了学习和实践这些技术而创建的,特别加入了分页功能,以...

    springboot-pagehelper-druid.rar springboot分页框架搭建 连接池搭建

    在服务层,我们可以这样调用分页查询: ```java @Service public class UserService { @Autowired private UserMapper userMapper; public Page&lt;User&gt; getUsers(int pageNum, int pageSize) { PageHelper....

    最新Java面试宝典pdf版

    22、用JDBC如何调用存储过程 109 23、JDBC中的PreparedStatement相比Statement的好处 110 24. 写一个用jdbc连接并访问oracle数据的程序代码 111 25、Class.forName的作用?为什么要用? 111 26、大数据量下的分页解决...

    Java面试宝典-经典

    22、用JDBC如何调用存储过程 109 23、JDBC中的PreparedStatement相比Statement的好处 110 24. 写一个用jdbc连接并访问oracle数据的程序代码 111 25、Class.forName的作用?为什么要用? 111 26、大数据量下的分页解决...

    java面试题大全(2012版)

    22、用JDBC如何调用存储过程 109 23、JDBC中的PreparedStatement相比Statement的好处 110 24. 写一个用jdbc连接并访问oracle数据的程序代码 111 25、Class.forName的作用?为什么要用? 111 26、大数据量下的分页解决...

    Java面试宝典2012版

    22、用JDBC如何调用存储过程 109 23、JDBC中的PreparedStatement相比Statement的好处 110 24. 写一个用jdbc连接并访问oracle数据的程序代码 111 25、Class.forName的作用?为什么要用? 111 26、大数据量下的分页...

    Java面试宝典2012新版

    22、用JDBC如何调用存储过程 109 23、JDBC中的PreparedStatement相比Statement的好处 110 24. 写一个用jdbc连接并访问oracle数据的程序代码 111 25、Class.forName的作用?为什么要用? 111 26、大数据量下的分页解决...

    java面试宝典2012

    22、用JDBC如何调用存储过程 119 23、JDBC中的PreparedStatement相比Statement的好处 120 24. 写一个用jdbc连接并访问oracle数据的程序代码 121 25、Class.forName的作用?为什么要用? 121 26、大数据量下的分页解决...

    2021年最新java面试题--视频讲解(内部培训84个知识点超详细).rar

    Java面试题31.jdbc调用存储过程 Java面试题32.简单说一下你对jdbc的理解 Java面试题33.写一个jdbc的访问oracle的列子 Java面试题34.jdbc中preparedStatement比Statement的好处 Java面试题35.数据库连接池的作用 Java...

    java必备知识点大全.pdf

    Oracle分页:Oracle提供了ROWNUM和ROWID进行分页查询。 Oracle的基本数据类型:包括 NUMBER、DATE、VARCHAR2等。 id、rowid、rownum的区别:id通常是主键字段的名称,rowid是Oracle数据库中每行数据的唯一标识,...

    自整理Java关于基础和框架的面试题

    ##### Oracle分页 - 使用`ROWNUM`关键字进行分页。 ##### Oracle的基本数据类型 - NUMBER、VARCHAR2、DATE等。 ##### id、rowid、rownum的区别 - **id**:通常作为主键标识记录。 - **rowid**:Oracle特有的唯一...

Global site tag (gtag.js) - Google Analytics