存储过程太多的情况可分包存储。方便查找些。
1.建带包存储过程:
打开mybatisxml文件,调用带包存储过程代码参考:
<!--调用存储过程2 -->
<parameterMap type="java.util.HashMap" id="salesConMap"><parameter property="docid" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />
<!-- <parameter property="resultstr" jdbcType="VARCHAR" javaType="java.lang.String"
mode="OUT" /> -->
</parameterMap>
<select id="executeSalesContract" parameterMap="salesConMap" statementType="CALLABLE">
<![CDATA[
{call zx_oa_recdata_pk.zx_cresacon(?)}
]]>
</select>
<!--调用存储过程1 -->
<select id="executeSalesContract" statementType="CALLABLE" parameterType="java.lang.String">
{call zx_oa_recdata_pk.zx_cresacon(#{docid,mode=IN,jdbcType=VARCHAR})}
</select>
1.Javatype为存储过程中参数对应的Java数据类型。
2.调用方式为 call 包名.存储过程名称
这种情况,在mybatis里就稍微有些不同了,此时jdbcType就是CURSOR,javaType则是ResultSet了,这里还可以把结果转成resultMap了,如下所示
<resultMap id="resultMap3" type="org.lxh.module.usefunction.info.Teacher">
<result property="address" column="address"/>
<result property="name" column="name"/>
<result property="id" column="id"/>
</resultMap>
<select id="getAllTeacherInfo" statementType="CALLABLE" parameterType="java.util.Map" >
{call GETTEACHER(#{result,jdbcType=CURSOR,mode=OUT,javaType=ResultSet, resultMap=resultMap3})}
</select>