四、存储过程调用
也许你已经习惯了,但是对于我来说这是一个麻烦无比的操作哦,我要简化它,我要简化,我要简,我要,我…..
一条代码的事情为什么非要那么复杂呢?
public List<Object> call(String sqlText, CallType[] callTypes, Map<String, Object> maps)
- 参数说明:
sqlText
: 存储过程调用脚本,类似:{call test(::arg1)}maps/arg/args
: SQL脚本的参数
- 其中 (org.voovan.db.CallType) 用来说明参数的传入传出类型,即:
IN
,OUT
,INOUT
是不是和查询、更新的模型很相似呢?当然相似了都是一种设计思路么。
我们重点说一下第二个参数CallType[] callTypes
,这个参数的存在就是为了解决原生调用中c.registerOutParameter(2,java.sql.Types.INTEGER);
的问题,什么问题呢?注册参数的类型。由于我们在编写存储过程中有一个特点就是要指定参数的类型:、OUT
、INOUT
三种类型.我们现在调用的时候同样也需要指定,否则我们就无法获取存储过程返回的数据了.