在spring-jdbc

时间:2015-11-18 14:18:53

标签: java spring spring-jdbc

我们正试图在我们的数据库中调用一个函数。该代码基于spring-jdbc。对于本地测试,我们使用H2,而在生产中使用postgresql。函数调用需要输入参数,响应是具有多列的结果集。

我们尝试了不同的解决方案:

  1. 使用JdbcTemplate并使用select-query调用该函数。这个问题是没有设置输入参数。查询工作正常,但不会填充inputVal。
  2. jdbcTemplate.queryForObject("select * from func(?)", new RowMapper(), inputVal);

    这是异常消息:

    Exception calling user-defined function: "func(null): null"; SQL statement
    
    1. 使用SimpleJdbcCall,withFunctionName和声明参数。当我们尝试运行时:
    2. Map result = new SimpleJdbcCall(jdbcTemplate) .withFunctionName("func") .declareParameters(new SqlParameter("inputVal", Types.NUMERIC)) .executeFunction(Map.class, inputVal);

      失败并显示错误消息:

      parameter count: 0)" not found; SQL statement:
      

      任何人都知道我们如何解决这个问题?

0 个答案:

没有答案