Oracle 存储过程
CREATE OR REPLACE PACKAGE BODY P_Test_Calc IS Procedure Data_Process(p1 In Number, p2 In Varchar2 Default Null, x1 Out Nocopy Varchar2, x2 Out Nocopy Varchar2 ) -- 存储过程逻辑 END Data_Process;END P_Test_Calc;
TestPersistent.xml
<select id="dataProcess" statementType="CALLABLE" parameterType="java.util.HashMap" resultType="java.util.Map"> {call user.P_Test_Calc.Data_Process (p1 => #{p1,mode=IN,jdbcType=NUMERIC}, p2 => #{p2,mode=IN,jdbcType=VARCHAR}, x1 => #{x1,mode=OUT,jdbcType=VARCHAR}, x2 => #{x2,mode=OUT,jdbcType=VARCHAR} )}</select>
TestPersistent
public interface TestPersistent { void dataProcess(HashMap<String, Object> param);}
调用逻辑
HashMap<String, Object> param = new HashMap<>();param.put("p1", 1);param.put("p2", "luoma");TestPersistent.dataProcess(param);// 返回值String code = param.get("x1");String msg = param.get("x2");