java - 包的java调用过程无响应

原文 标签 java maven spring-boot

我已经创建了Spring Boot应用程序的API模块来调用存储过程。当涉及到实现时,stmt.execute不能无响应地调用。您能告诉我在我的Java环境下修改哪个模块或方法是1.8吗?

int retVal = -1;
int errCode = -1;
String errText = null;
int outPos;
int pos = 0;
System.out.println("call 2");

String SQL_SELECT = "{call database_sid.test_pkg.get_pc_lue(?,?,?,?,?,?)}";
try (Connection conn = DriverManager.getConnection(DBC_URL, USERNAME, PASSWORD);
     CallableStatement preparedStatement = conn.prepareCall(SQL_SELECT);
) {

    System.out.println("call db");

    preparedStatement.setString(++pos, "OFFER_TYPE");
    preparedStatement.setString(++pos, null); // acct srv limit

    preparedStatement.registerOutParameter(outPos = ++pos, Types.REF_CURSOR);
    preparedStatement.registerOutParameter(++pos, Types.INTEGER);
    preparedStatement.registerOutParameter(++pos, Types.INTEGER);
    preparedStatement.registerOutParameter(++pos, Types.VARCHAR);
    System.out.println("call 10");

    ResultSet resultSet = preparedStatement.executeQuery();

    System.out.println("call 11");
    while (resultSet.next()) {


        String value = resultSet.getString("LOOKUP_VALUE");
        String type = resultSet.getString("LOOKUP_TYPE");
        PcTblBPcLookUp obj = new PcTblBPcLookUp();
        obj.setLookUpValue(value);
        obj.setLookUpType(type);
        result.add(obj);
        System.out.println("call 1obecj1");
    }
    result.forEach(x -> System.out.println(x));
    System.out.println("call finish ");
} catch (SQLException e) {
    System.err.format("SQL State: %s\n%s", e.getSQLState(), e.getMessage());
} catch (Exception e) {
    e.printStackTrace();
    System.out.println("call error : " + e.getMessage());
}

最佳答案

您需要使用execute执行存储过程,然后需要从为out参数注册的选项中获取结果集

preparedStatement.execute();

ResultSet rs = (ResultSet) preparedStatement.getObject(outPos);

关于java - 包的java调用过程无响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58658182/

相关文章:

java - Artifact 不在本地存储库中错误

java - 如何使用Spring Boot Hibernate在Postgresql中的表的XML类型列中保存XML字符串

spring-boot - 401未经授权的页面会 Swagger 吗?

java - customAuthenticationProvider验证两次调用

java - 隐式QueryStringBindable java.util.List [models.InputTimeSheetDataStore]

java - Spring RMI服务器错误

java - 如何在Java中过滤NullString

java - 按值从数组列表中删除

java - Quarkus/microprofile 读取 pom.xml 属性

java - codehaus.mojo gwt-maven-plugin:项目无法编译