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存储过程分页
在这个实例中,Oracle存储应用的数据,包括用户信息、搜索条件、附件等。使用Oracle的分页功能,可以高效地处理大量数据的查询,同时,其强大的数据类型支持附件的存储。 5. **分页搜索**:在Web应用中,分页搜索是...
总的来说,"spring+ibatis+oracle分页缓存源码"项目展示了如何在Spring管理的环境中,利用iBatis和Oracle数据库实现高效的数据分页和缓存策略。通过理解和实践这些技术,开发者可以构建出更加健壮、响应快速的Web...
- **DAO(Data Access Object)层**:iBatis接口和实现,用于与数据库交互。 - **Service层**:业务逻辑层,封装了DAO操作,提供给Action调用。 - **配置文件**:Struts2的配置文件(struts.xml)定义了动作映射,...
在 Java Web 应用程序中,分页功能可以使用多种方法来实现,例如使用 Hibernate、iBATIS 等 ORM 工具来实现分页,或者使用自定义的分页算法来实现分页。无论是哪种方法,分页都是 Java Web 应用程序中的一个重要组件...
它们包含了SQL查询、存储过程的调用,并可以进行动态SQL构建。 2. Data Mapper:这是一个接口,开发者通过实现这个接口来定义数据访问逻辑。Ibatis.Net会自动处理SQL执行和结果集的映射。 3. DataSource:框架支持...
针对Oracle数据库,`ibatis`支持存储过程调用,可以通过`<procedure>`标签来执行。此外,Oracle的游标、分页、序列等特性也可以方便地在`ibatis`中使用。 10. **最佳实践** 在实际应用中,应遵循良好的设计原则,...
8. **映射文件和 SQL 语句的通用性**:尽量编写通用的 SQL 映射文件,避免过于依赖特定数据库的功能,如存储过程、函数等。可以使用预编译的参数化 SQL(如 PreparedStatement)来减少 SQL 注入风险。 压缩包文件 ...
6. **分页处理**:在iBatis的映射文件中编写带有LIMIT或ROWNUM子句的SQL,以实现分页查询。 由于提供的压缩包文件名称只有一项"ssiTest",无法给出具体代码级别的细节,但以上内容概括了这个集成示例的主要技术和...
在iBatis中,通过编写XML配置文件或注解来定义SQL查询和存储过程,使得数据操作更加便捷。在"ibatis+oracle"的场景下,开发者可以编写SQL语句来操作Oracle数据库,实现数据的增删改查。 最后,Oracle数据库是企业级...
在服务器端,可能采用Tomcat、Jetty等应用服务器运行Java Web应用,而在数据库层面,可能会使用MySQL、Oracle或PostgreSQL等关系型数据库存储图书信息。 在实际开发过程中,为了保证系统的健壮性,通常还会涉及错误...
- **Mapper XML文件**:存储SQL语句的具体实现,与Mapper接口一一对应。 - **Example类**:用于构建动态查询条件。 **3. ibator的高级特性** - **自定义模板**:ibator允许用户自定义生成代码的模板,以满足特定的...
- **MyBatis 的特性**:MyBatis 是一个优秀的持久层框架,支持普通的 SQL 查询、存储过程及高级映射功能。它消除了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索工作。MyBatis 使用简单的 XML 或注解进行...
《大数据功能模块概要设计》是对大数据系统的架构和组件进行详细描述的一份文档,主要涵盖了系统总体架构、通用组件和...通过选用合适的组件和框架,实现高效的数据采集、处理、存储和访问,满足不同应用场景的需求。
Java面试题28.mysql和oracle的分页语句 Java面试题29.触发器的使用场景? Java面试题30.存储过程的优点 Java面试题31.jdbc调用存储过程 Java面试题32.简单说一下你对jdbc的理解 Java面试题33.写一个jdbc的访问oracle...
6. **数据库技术**:具备坚实的数据库理论基础,熟悉MySQL和Oracle,能编写PL/SQL存储过程,掌握SQL。 7. **开发工具**:能熟练使用MyEclipse进行项目开发,也了解JBuilder2007,这是Java开发常用的集成开发环境。 ...
解释为何选择Hibernate,以及调用存储过程的方法。 7. **DWR(Direct Web Remoting)**:DWR允许JavaScript与服务器端Java代码进行交互,实现Ajax功能。要能解释DWR的工作原理,并提供在项目中使用DWR的实例。 8. ...
3.2 **数据库**:关系型数据库如Oracle、MySQL,Oracle要求10g以上版本。NoSQL数据库如mongodb、hadoop、hive、hbase、memcached、redis等用于非结构化数据处理。 3.3 **底层开发框架**:Java服务端开发推荐使用...
- **数据安全**:包括数据加密管理,确保数据在传输和存储过程中的安全性。 - **数据交换**:通过数据交换整合平台实现不同系统间的数据交互。 - **元数据管理**:对数据的属性和描述进行管理和维护,方便数据的...
mybatis实战教程mybatis in action之七实现mybatis分页源码下载 mybatis实战教程mybatis in action之八mybatis 动态sql语句 mybatis实战教程mybatis in action之九mybatis 代码生成工具的使用 mybatis ...