`

Oracle存储过程,ibatis实现分页

阅读更多

1、oracle 分页存储过程脚本

create or replace procedure Pagination(Pindex in integer, --页号  从1开始
                                         Psql   in varchar2, --查询语句
                                         Psize  in integer, --每页分多少行
                                         Pcount out number, --共有多少页
                                         Result out sys_refcursor --返回数据集
                                         ) as

  v_sql   VARCHAR2(3000);
  v_count number;
  v_Plow  number;
  v_Phei  number;
Begin
  -----------取分页总数 -----------
  v_sql := 'select count(*) from (' || Psql || ')';
  execute immediate v_sql
    into v_count;
  Pcount := v_count; --ceil(v_count / Psize);
  ---------------显示任意页内容 ---------------
  v_Phei := Pindex * Psize;
  v_Plow := v_Phei - Psize + 1;
  v_sql  := 'select * from (select rownum rn,t.* from (' || Psql ||
            ') t ) where rn between ' || v_Plow || ' and ' || v_Phei ;

  open Result for v_sql;

End Pagination;

2、Ibatis调用oracle存储过程sqlMap文件配置

 <!-- 存储过程参数Map -->
 <parameterMap id="parametermap" class="java.util.HashMap" >
     <parameter property="pindex" jdbcType="INTEGER" javaType="java.lang.Integer" mode="IN"/>
     <parameter property="psql" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN"/>
     <parameter property="psize" jdbcType="INTEGER" javaType="java.lang.Integer" mode="IN"/>
     <parameter property="pcount" jdbcType="INTEGER" javaType="java.lang.Integer" mode="OUT"/>
     <parameter property="result" jdbcType="ORACLECURSOR" javaType="java.sql.ResultSet" mode="OUT" />     
 </parameterMap>
 <!-- 存储过调用 -->
 <procedure id="pagination" resultClass="com.xxx.xxx.pojo.ObjectQurey" parameterMap="parametermap">
      {call p_pagination(?,?,?,?,?)}
 </procedure>

3、service层调用sqlMap

 public List<ObjectQurey> pagination(Map param) throws AppException {
      try
  {
   return baseDao.queryForList(ObjectQureySql.PageNation, param);
  }catch (Exception e)
  {
   throw new AppException(THIS_CLASS_NAME, "getAllObjectQureySqlInfo", MODULE_NAME, MessageUtil.BUSSIESS_ERROR, e);
  }
 }

分享到:
评论

相关推荐

    ibatis调用oracle存储过程分页

    ibatis调用oracle存储过程分页

    struts2+spring+ibatis+oracle+分页搜索+上传附件实例

    在这个实例中,Oracle存储应用的数据,包括用户信息、搜索条件、附件等。使用Oracle的分页功能,可以高效地处理大量数据的查询,同时,其强大的数据类型支持附件的存储。 5. **分页搜索**:在Web应用中,分页搜索是...

    spring+ibatis+oracle分页缓存源码

    总的来说,"spring+ibatis+oracle分页缓存源码"项目展示了如何在Spring管理的环境中,利用iBatis和Oracle数据库实现高效的数据分页和缓存策略。通过理解和实践这些技术,开发者可以构建出更加健壮、响应快速的Web...

    ssi_struts2_spring_ibatis 增删改查分页

    - **DAO(Data Access Object)层**:iBatis接口和实现,用于与数据库交互。 - **Service层**:业务逻辑层,封装了DAO操作,提供给Action调用。 - **配置文件**:Struts2的配置文件(struts.xml)定义了动作映射,...

    javaweb_分页显示数据库内容

    在 Java Web 应用程序中,分页功能可以使用多种方法来实现,例如使用 Hibernate、iBATIS 等 ORM 工具来实现分页,或者使用自定义的分页算法来实现分页。无论是哪种方法,分页都是 Java Web 应用程序中的一个重要组件...

    ibatis.net

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

    ibatis 例子

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

    扩展 iBatis 以透明支持多种数据库

    8. **映射文件和 SQL 语句的通用性**:尽量编写通用的 SQL 映射文件,避免过于依赖特定数据库的功能,如存储过程、函数等。可以使用预编译的参数化 SQL(如 PreparedStatement)来减少 SQL 注入风险。 压缩包文件 ...

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

    6. **分页处理**:在iBatis的映射文件中编写带有LIMIT或ROWNUM子句的SQL,以实现分页查询。 由于提供的压缩包文件名称只有一项"ssiTest",无法给出具体代码级别的细节,但以上内容概括了这个集成示例的主要技术和...

    jqgrid+struts2+ibatis增删改查

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

    图书管理系统EXT+ibatis

    在服务器端,可能采用Tomcat、Jetty等应用服务器运行Java Web应用,而在数据库层面,可能会使用MySQL、Oracle或PostgreSQL等关系型数据库存储图书信息。 在实际开发过程中,为了保证系统的健壮性,通常还会涉及错误...

    ibator的eclipse插件

    - **Mapper XML文件**:存储SQL语句的具体实现,与Mapper接口一一对应。 - **Example类**:用于构建动态查询条件。 **3. ibator的高级特性** - **自定义模板**:ibator允许用户自定义生成代码的模板,以满足特定的...

    mybatis文档

    - **MyBatis 的特性**:MyBatis 是一个优秀的持久层框架,支持普通的 SQL 查询、存储过程及高级映射功能。它消除了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索工作。MyBatis 使用简单的 XML 或注解进行...

    大数据功能模块概要设计-V1.1Word版.docx

    《大数据功能模块概要设计》是对大数据系统的架构和组件进行详细描述的一份文档,主要涵盖了系统总体架构、通用组件和...通过选用合适的组件和框架,实现高效的数据采集、处理、存储和访问,满足不同应用场景的需求。

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

    Java面试题28.mysql和oracle的分页语句 Java面试题29.触发器的使用场景? Java面试题30.存储过程的优点 Java面试题31.jdbc调用存储过程 Java面试题32.简单说一下你对jdbc的理解 Java面试题33.写一个jdbc的访问oracle...

    Java个人简历模板12.doc

    6. **数据库技术**:具备坚实的数据库理论基础,熟悉MySQL和Oracle,能编写PL/SQL存储过程,掌握SQL。 7. **开发工具**:能熟练使用MyEclipse进行项目开发,也了解JBuilder2007,这是Java开发常用的集成开发环境。 ...

    文思面试题(java)

    解释为何选择Hibernate,以及调用存储过程的方法。 7. **DWR(Direct Web Remoting)**:DWR允许JavaScript与服务器端Java代码进行交互,实现Ajax功能。要能解释DWR的工作原理,并提供在项目中使用DWR的实例。 8. ...

    大数据功能模块概要设计.doc

    3.2 **数据库**:关系型数据库如Oracle、MySQL,Oracle要求10g以上版本。NoSQL数据库如mongodb、hadoop、hive、hbase、memcached、redis等用于非结构化数据处理。 3.3 **底层开发框架**:Java服务端开发推荐使用...

    大数据功能模块概要设计_V1.1.pdf

    - **数据安全**:包括数据加密管理,确保数据在传输和存储过程中的安全性。 - **数据交换**:通过数据交换整合平台实现不同系统间的数据交互。 - **元数据管理**:对数据的属性和描述进行管理和维护,方便数据的...

    springmybatis

    mybatis实战教程mybatis in action之七实现mybatis分页源码下载 mybatis实战教程mybatis in action之八mybatis 动态sql语句 mybatis实战教程mybatis in action之九mybatis 代码生成工具的使用 mybatis ...

Global site tag (gtag.js) - Google Analytics