通过mybatis调用oracle存储过程,传多个参数
1.在sqlmapper文件中的配置 1).直接指定参数名称及参数类型<select id="queryInfo" parameterType="java.util.HashMap"statementType="CALLABLE"><![CDATA[ {call PKG.prQueryInfo ( #{id,mode=IN,jdbcType=VARCHAR}, #{name,mode=IN,jdbcType=VARCHAR}, #{pwd,mode=IN,jdbcType=VARCHAR}, #{cursor,mode=OUT,jdbcType=CURSOR,resultMap=vipInfoResultMap,javaType=java.sql.ResultSet}, #{result,mode=OUT,jdbcType=INTEGER}, #{msg,mode=OUT,jdbcType=VARCHAR} )}]]></select> 1234567891011121314 2).使用paramsterMap
<parameterMap type="java.util.HashMap" id="loginUserParams"><parameter property="id" jdbcType="VARCHAR" javaType="java.lang.String"mode="IN" /><parameter property="pwd" jdbcType="VARCHAR" javaType="java.lang.String"mode="IN" /><parameter property="ip" jdbcType="VARCHAR" javaType="java.lang.String"mode="IN" /><parameter property="result" jdbcType="DECIMAL" javaType="java.lang.Integer"mode="OUT" /><parameter property="descript" jdbcType="VARCHAR" javaType="java.lang.String"mode="OUT" /><parameter property="userName" jdbcType="VARCHAR" javaType="java.lang.String"mode="OUT" /><parameter property="department" jdbcType="VARCHAR" javaType="java.lang.String"mode="OUT" /><parameter property="departmentName" jdbcType="VARCHAR" javaType="java.lang.String"mode="OUT" /><parameter property="cursor" jdbcType="CURSOR" javaType="java.sql.ResultSet"resultMap="resultList" mode="OUT" /><parameter property="identity" jdbcType="INTEGER" javaType="java.lang.String"mode="OUT" /></parameterMap><select id="userLogin" parameterMap="loginUserParams"statementType="CALLABLE"><![CDATA[ {call PKG.prLogin (?,?,?,?,?,?,?,?,?,? )}]]></select>
12345678910111213141516171819202122232425262728 2.dao接口定义方法public void queryInfo(Map<String, Object> paramsMap); 1 3.逻辑业务处理方法中通过paramsMap直接获取各个参数