java调用存储过程,该如何解决

java调用存储过程
问题描述:
做了一个DB2的存储过程,返回一个动态的数据集(列的个数是根据条件创建的)。
输入不同的参数,得到不同的集合,这个集合是临时表。
集合是通过游标的方式返回。
效果如下图:
java调用存储过程,该如何解决

java调用存储过程,该如何解决

上面的结果是没问题的。有问题的是,我用java(ibatis)调用时出现问题。
我切换参数时,返回的结果集好像还是之前的结果集。

请大家帮忙看看!


------解决思路----------------------
DB2我到是没有用过,oracle的也一样的~~
我给你写个参考代码你看看~~

public static void main(String[] args) throws Exception {
        Connection conn = null;
        CallableStatement statement = null;
        String sql = "{call stu_proc(?, ?)}";
        try {
            conn = ConnUtils.getConnection();
            statement = conn.prepareCall(sql);
            statement.setInt(1, 1);
            statement.registerOutParameter(2, Types.VARCHAR);
            statement.executeUpdate();
            String sname = statement.getString(2);
            System.out.println(sname);
        } catch (SQLException e) {
            e.printStackTrace();
        }finally{
            ConnUtils.free(null, statement, conn);
        }
    }


------解决思路----------------------
控制台输出的sql打出
数据库的查询结果是什么
看下是不是sql语句的问题