ibatis呼び出しストレージ・プロシージャ複数の転送パラメータ

2084 ワード

bean:
package com.yushh.model;


import java.io.Serializable;


public class InParam implements Serializable {


	private static final long serialVersionUID = -7007323266986792615L;
	private String in1;
	private String in2;
	private String out1;
	private String out2;
	public String getIn1() {
		return in1;
	}
	public void setIn1(String in1) {
		this.in1 = in1;
	}
	public String getIn2() {
		return in2;
	}
	public void setIn2(String in2) {
		this.in2 = in2;
	}
	public String getOut1() {
		return out1;
	}
	public void setOut1(String out1) {
		this.out1 = out1;
	}
	public String getOut2() {
		return out2;
	}
	public void setOut2(String out2) {
		this.out2 = out2;
	}

}

dao:
	public InParam test(InParam inParam) throws Exception {
		return (InParam)queryForObject("GuaranteeBusiness.testABC", inParam);
	}
プロファイル:
 <parameterMap id="MyBeanMap" class="com.sinosig.insurance.guarantee.model.InParam">                                     
        <parameter property="in1" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN"/> 
        <parameter property="in2" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN"/> 
        <parameter property="out1" jdbcType="VARCHAR" javaType="java.lang.String" mode="OUT"/> 
        <parameter property="out2" jdbcType="VARCHAR" javaType="java.lang.String" mode="OUT"/> 
 </parameterMap> 
<procedure id="testABC" parameterMap="MyBeanMap" >
   <![CDATA[
      {call testABC(?,?,?,?)}
   ]]>
</procedure>

ストアド・プロシージャ:
CREATE OR REPLACE PROCEDURE testABC(in1 IN varchar2,in2 IN VARCHAR2,
out1 OUT varchar2,out2 OUT VARCHAR2)
IS
BEGIN
 INSERT INTO t_test VALUES(100,in1,sysdate,in2);
 SELECT user_name,PASSWORD INTO out1,out2 FROM t_test WHERE ID=3;
END testABC;