使用sp_cursoropen和sp_cursorfetch分页

使用sp_cursoropen和sp_cursorfetch分页

<code>

cstmt = con.prepareCall(“{?=call sp_cursoropen(?, ?, ?, ?, ?)}”,

     1004, 1008);

   cstmt.registerOutParameter(1, Types.INTEGER);

   cstmt.registerOutParameter(2, Types.INTEGER);

   log.info(sql);

   cstmt.setString(3, sql);

   cstmt.setInt(4, 1);

   cstmt.registerOutParameter(4, Types.INTEGER);

   cstmt.setInt(5, 1);

   cstmt.registerOutParameter(5, Types.INTEGER);

   cstmt.registerOutParameter(6, Types.INTEGER);

   rs = cstmt.executeQuery();

   log.info(rs.getMetaData().getColumnCount());

   log.info(rs.next());

   log.info(cstmt.getInt(1));

   int cursor = cstmt.getInt(2);

   log.info(cursor);

   log.info(cstmt.getInt(4));

   log.info(cstmt.getInt(5));

   log.info(cstmt.getInt(6));

   countSize = cstmt.getInt(6);

   countPage = (int) Math.ceil(1.0 * countSize / pageSize);

   cstmt.close();

   rs.close();

   cstmt = con.prepareCall(“{?=call sp_cursorfetch(?, ?, ?, ?)}”);

   cstmt.registerOutParameter(1, Types.INTEGER);

   cstmt.setInt(2, cursor);

   cstmt.setInt(3, 16);

   cstmt.setInt(4, (page-1)*pageSize+1);

   log.info(“page:”+page);

   cstmt.setInt(5, pageSize);

   log.info(“pageSize:”+pageSize);

   rs = cstmt.executeQuery();

</code>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100631.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Runnable和Callable区别[通俗易懂]

    RunnableRunnable是一个接口,该接口中只有一个run方法,实现Runnable接口的类需要重写run方法,然后可以把这个类作为Thread类的一个参数,来创建线程,具体的用法有两种:创建一个类,实现Runnable接口,重写run方法classMyThreadimplementsRunnable{@Overridepublicvoidrun(){System.out.println(“MyThread”);}}使

    2022年4月7日
    53
  • Java设计模式之行为型:迭代器模式

    Java设计模式之行为型:迭代器模式

    2021年10月4日
    40
  • 系统结构-并行算法FORK JOIN[通俗易懂]

    系统结构-并行算法FORK JOIN[通俗易懂]并行算法FORKJOIN一、FORKJOIN定义二、举例题目分析:一、FORKJOIN定义FORK语句的形式:FORKm,其中m为新进程开始的标号。执行FORKm语句时,派生出标号为m开始的新进程,具体为:1、准备好这个新进程启动和执行所必需的信息;2、如果是共享主存,则产生存储器指针、映像函数和访问权数据;3、将空闲的处理机分配给派生的新进程,如果没有空闲处理机,则让它们排队等待;4、继续在原处理机上执行FORK语句的原进程。与FORK语句相配合,作为每个并发进程的终端语句J

    2022年9月20日
    0
  • 二十三又是谁的二十三

    二十三又是谁的二十三23岁那年你正处在哪个状态?现在呢?我,23岁,应届毕业生。生活,工作,爱情都处于人生的低谷,一穷二白,一无所有,一事无成。分享一下成长的建议吧。匿名用户23岁那年…就是去年…在22岁的时候我毕业,同时第二年准备考研,结果因为压力太大,期望太高,又失利了,但是我依然满怀信心和憧憬在我23岁那年四月,当我深爱的女孩(在这之前我追了她四年)说她要去北京时,我在毫无准备的情况下,带了2000块钱冲到北京,那会的北京还有点冷…但是我只是想打好前站,在她来的时候能提供一点帮助,在前两周里,每天面试两家公

    2022年7月25日
    6
  • 深入解析HashMap和currentHashMap源码以及实现原理「建议收藏」

    深入解析HashMap和currentHashMap源码以及实现原理「建议收藏」深入解析HashMap和ConcurrentHashMapy源码以及底层原理前言HashMap和ConcurrentHashMap,这两个相信大家都不陌生,在面试中基本上是必问的,以及在实际开发过程中也是比用的,那么看了这篇文章,无论在面试还是在实际开发中都可以顺手拈来,得心应手了。HashMap基于Map接口实现,元素以键值对的方式存储,并且允许使用null建和null 值, 因为key不允许重复,因此只能有一个键为null,另外HashMap不能保证放入元素的顺序,它是无序的,和放入的顺序并

    2022年6月18日
    38
  • PHP flock() 函数

    PHP flock() 函数

    2021年9月22日
    52

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号