四、存储过程调用

    也许你已经习惯了,但是对于我来说这是一个麻烦无比的操作哦,我要简化它,我要简化,我要简,我要,我…..

    一条代码的事情为什么非要那么复杂呢?

    1. public List<Object> call(String sqlText, CallType[] callTypes, Map<String, Object> maps)
      • 参数说明:
        • sqlText: 存储过程调用脚本,类似:{call test(::arg1)}
        • maps/arg/args: SQL脚本的参数
      • 其中 (org.voovan.db.CallType) 用来说明参数的传入传出类型,即:INOUTINOUT是不是和查询、更新的模型很相似呢?当然相似了都是一种设计思路么。

      我们重点说一下第二个参数CallType[] callTypes,这个参数的存在就是为了解决原生调用中c.registerOutParameter(2,java.sql.Types.INTEGER);的问题,什么问题呢?注册参数的类型。由于我们在编写存储过程中有一个特点就是要指定参数的类型:、OUTINOUT三种类型.我们现在调用的时候同样也需要指定,否则我们就无法获取存储过程返回的数据了.