MySQL存储过程的感悟[2]

来源:互联网 发布:java基础知识面试 编辑:程序博客网 时间:2024/05/19 21:59

存储过程的返回值与在JAVA中的调用:

            昨天,在JAVA里面调用存储过程发现,我以前的调用方式全都写错了,

    JAVA里面封装了一个类,可以专门处理存储过程就是CallableStatement,

其中有一个方法是execute();其返回值是boolean,那么这个boolean究竟是什么呢?

经过试验发现,原来这是标记存储过程被执行后是否有结果集的。

一个存储过程,也许没有返回结果集,也许返回一个或多个结果集,一个或多个结果集是以一个包的形式返回的,

正确科学的使用方式应该是这样的:

            private static String SQL_PROC = "{CALL PROC_NAME(VARLIST)}"

            Connection con = DaoConnection.connGet;//这是从数据库连接池中获得一个连接

            CallableStatement cstm = con.CreateCallable(SQL_PROC);

            ResultSet rs = new ResultSet();

            boolean bl = cstm.execute();

            while(bl){

                         rs = cstm.getResultSet();//取得第一个结果集

                         //处理rs

                         bl = cstm.getMoreResultSet();//关闭rs,并判断是否还有更多的结果集,

             }

           

原创粉丝点击