小编ejg*_*ald的帖子

如何将 Spring NamedParameterJdbcTemplate 与带有游标输出参数的 Oracle 存储过程一起使用

我正在尝试使用 Springs 的 NamedParameterJdbcTemplate 来调用一个 Oracle 存储过程,该存储过程具有两个带有设置值的输入参数,并且该存储过程返回 8 个具有多个列/行的游标。我能够使用 Spring 的 SimpleJdbcCall 使用以下代码调用存储过程(敏感信息已更改):

    SqlParameter con_num =  new SqlParameter("con_num",12); //12 is VARCHAR TYPE
    SqlParameterValue con_num2 = new SqlParameterValue(con_num, "859999"); 
    SqlParameter in_date = new SqlParameter("in_date",12);
    SqlParameterValue in_date2 = new SqlParameterValue(in_date, "20160628"); 
    SqlOutParameter account_cur = new SqlOutParameter("account_cur", -10); //-10 is ORACLE CURSOR TYPE
    SqlOutParameter fund_cur = new SqlOutParameter("fund_cur", -10);
    SqlOutParameter notes_cur = new SqlOutParameter("notes_cur", -10);
    SqlOutParameter withdrawal_cur = new SqlOutParameter("withdrawal_cur", -10);
    SqlOutParameter contract_cur = new SqlOutParameter("contract_cur", -10);
    SqlOutParameter pin_cur = new SqlOutParameter("pin_cur",-10);
    SqlOutParameter …
Run Code Online (Sandbox Code Playgroud)

spring-jdbc oracle12c

5
推荐指数
0
解决办法
1243
查看次数

反序列化前的 Spring Boot 验证策略

我正在使用 Spring Boot 来运行 API。我想在反序列化之前验证用户请求参数,以防止 Jackson 抛出反序列化异常。我的想法是最好在没有异常处理的情况下进行验证,但如果您认为我错了,请告诉我。

现在,我制作了一个带有@ControllerAdvice注释的异常处理程序控制器,用于在异常冒泡给用户之前捕获异常,但是有没有办法在杰克逊反序列化之前验证用户输入以检查错误?

我开始尝试使用 spring 验证,但是如果我编写一个自定义验证器并注释请求参数,@Validate验证是否会在反序列化之前进行?春季验证是正确的选择吗?

我研究了使用注释进行验证(JSR 380),但我认为我需要对验证进行更多控制,因此这就是我编写自己的自定义验证器的原因。

我想我可以编写一个自定义反序列化器来调用我的自定义验证器,但这是最好的方法。我正在寻找最佳实践和良好的验证策略。

在此先感谢您的帮助。

deserialization spring-validator spring-boot jackson2

5
推荐指数
2
解决办法
4933
查看次数