< 2025年1月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8

1.继承StoredProcedure

org.springframework.jdbc.object.StoredProcedure是对应存储过程调用的操作对象,它通过其父类

org.springframework.jdbc.object.SqlCall获得相应的底层API支持(CallableStatementCreator), 然

后在此基础之上构建了调用存储过程的执行方法。

2、重写父类的execute()方法。将存储过程的参数封装成Map类型的传入该方法

.
3、写一个方法来封装存储过程的方法及把参数放到Map里面.

如:
  Map paraMap = new HashMap();
  paraMap.put(IN_PARAMETER_NAME, tableName);
  paraMap.put(INOUT_PARAMETER_NAME, v);
注意:key值一定要与前面构造函数里面声明的参数一致。


4、execute()返回的map值要取到里面的value值,可以用前面构造函数声明时候用到的key值去取。
  如:(String)resultMap.get(OUT_PARAMETER_NAME);就得到了存储过程的返回值。

示例如下:

public class xxxxProcedure extends StoredProcedure {
    private static final String PROCEDURE_NAME = "xxxx";

    protected xxxxProcedure() {
        /* empty */
        }
    
    public xxxxProcedure(JdbcTemplate jdbcTemplate) {
        super(jdbcTemplate, PRO_NAME);
        declareParameter(new SqlParameter("xxxx", Types.VARCHAR));
        declareParameter(new SqlParameter("xxxx", Types.VARCHAR));
        declareParameter(new SqlParameter("xxxx", Types.NUMERIC));
    }

    public void execute(String xxxx,String xxxx,int xxxx) {
        Map<String, Object> paramsIn = new HashMap<String, Object>();
        paramsIn.put("xxxx", xxxx);
        paramsIn.put("xxxx", xxxx);
        paramsIn.put("xxxx", xxxx);
        super.execute(paramsIn);
    }

}

posted on   一天不进步,就是退步  阅读(2906)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core GC计划阶段(plan_phase)底层原理浅谈
· .NET开发智能桌面机器人:用.NET IoT库编写驱动控制两个屏幕
· 用纯.NET开发并制作一个智能桌面机器人:从.NET IoT入门开始
· 一个超经典 WinForm,WPF 卡死问题的终极反思
· ASP.NET Core - 日志记录系统(二)
阅读排行:
· 博客园 & 1Panel 联合终身会员上线
· 支付宝事故这事儿,凭什么又是程序员背锅?有没有可能是这样的...
· https证书一键自动续期,帮你解放90天限制
· 在 ASP.NET Core WebAPI如何实现版本控制?
· 告别虚拟机!WSL2安装配置教程!!!
点击右上角即可分享
微信分享提示