procedure代码:
CREATE OR REPLACE Procedure GET_MAX(a NUMBER,b NUMBER,c OUT NUMBER) IS
BEGIN
IF a>b THEN
c:=a;
ELSE
c:=b;
END IF;
END GET_MAX;
sql-map:
<parameterMap id="precedureParameter" class="java.util.Map"> <parameter property="a" mode="IN"/> <parameter property="b" mode="IN"/> <parameter property="c" mode="OUT" jdbcType="DECIMAL" javaType="java.math.BigDecimal"/> </parameterMap> <procedure id="in_example" parameterMap="precedureParameter"> {call ccfscde.GET_MAX(?,?,?)} </procedure>
java代码:
@Test
public void testSql(){
try {
Map map = new HashMap(2);
map.put("a", 1);
map.put("b", 2);
map.put("c", null);
sqlMapClient.queryForObject("in_example",map);
System.out.println(map.get("c"));//2
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}