For a single custom Java class you can have a single ibatis parameterMap that maps both inputs (mode="IN") and outputs (mode="OUT") to the stored procedure call - or even have class members that are both (mode="INOUT").
Place your output <parameter property="numRows"/> as the last item in your <parameterMap id="parameterTest"/> (I'm assuming your last positional argument is the OUT argument.) Then change your <procedure id="BUILD_CONTROL_INSERT"/> to specify: parameterMap="parameterTest" --RogerV On Fri, Jan 2, 2009 at 5:50 AM, Sudhakar Kanagarajan < [email protected]> wrote: > > I have an Oracle stored procedure that inserts a row into a table from a > set > of input parameters and returns a number back. > > I want to map the input parameters to a Java object and return the output > parameter as Integer. > > I am not able to achieve this since the Ibatis Paramerter Map always > expects > a Map or a custom java object and not both. > > Is it possible to achieve this? I have attached the Ibatis config below > > <parameterMap id="parameterTest" > class="com.fmrco.compliance.ace.builder.control.BuildControlObject" > > <parameter property="buildRunId" jdbcType="NUMBER" > javaType="java.lang.Long" mode="IN"/> > <parameter property="ruleKeyId" jdbcType="NUMBER" > javaType="java.lang.Long" mode="IN"/> > <parameter property="ruleVerNum" jdbcType="NUMBER" > javaType="java.lang.Long" mode="IN"/> > <parameter property="dataLoadId" jdbcType="NUMBER" > javaType="java.lang.Long" mode="IN"/> > <parameter property="buildTypeRefId" jdbcType="NUMBER" > javaType="java.lang.Long" mode="IN"/> > <parameter property="buildStatusRefId" jdbcType="NUMBER" > javaType="java.lang.Long" mode="IN"/> > <parameter property="buildComment" jdbcType="VARCHAR" > javaType="java.lang.String" mode="IN"/> > <parameter property="addUsrId" jdbcType="VARCHAR" > javaType="java.lang.String" mode="IN"/> > </parameterMap> > > <parameterMap id="test" class="map" > > <parameter property="inputs" typeName="parameterTest" /> > <parameter property="numRows" jdbcType="VARCHAR" > javaType="java.lang.Long" mode="OUT"/> > </parameterMap> > > <procedure id="BUILD_CONTROL_INSERT" parameterMap="test" > resultClass="java.lang.Long"> > {call BUILD_CONTROL_INSERT(?,?,?,?,?,?,?,?,?)} > </procedure> > > > > > > -- > View this message in context: > http://www.nabble.com/Spring---Ibatis-Stored-Procedure-Call-tp21251633p21251633.html > Sent from the iBATIS - User - Java mailing list archive at Nabble.com. > >
