How to call Oracle function or stored procedure using spring persistence framework?

后端 未结 4 1500
忘掉有多难
忘掉有多难 2020-12-13 15:57

I am using Spring persistence framework for my project. I want to call oracle function or stored procedure from this framework.

Can anybody suggest how can I achieve

4条回答
  •  甜味超标
    2020-12-13 16:42

    Calling function using NamedParameterJdbcTemplate:

    final String query = "select MY_FUNCTION(:arg1, :arg2, :arg3) from dual";
    Map argMap = new HashMap<>();
    argMap.put("arg1", "value1");
    argMap.put("arg2", 2);
    argMap.put("arg3", "value3");
    final String result = new NamedParameterJdbcTemplate(dataSource)
            .queryForObject(query, argMap, String.class);
    

    Calling procedure using JdbcTemplate:

    final String query = "call MY_PROCEDURE(?, ?, ?)";
    final Object[] args = {"arg1", "arg2", "arg3"};
    new JdbcTemplate(dataSource).execute(query, args, String.class);
    

    Calling function using SimpleJdbcCall:

    final String result = new SimpleJdbcCall(dataSource)
            .withCatalogName("MY_PACKAGE")
            .withFunctionName("MY_FUNCTION")
            .executeFunction(String.class, "arg1", "arg2");
    

    Calling procedure using SimpleJdbcCall:

    new SimpleJdbcCall(dataSource)
            .withCatalogName("MY_PACKAGE")
            .withProcedureName("MY_PROCEDURE")
            .execute("arg1", arg2);
    

提交回复
热议问题