1、mybstias XML構成次のように
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.pflm.admin.web.mysql.dao.UserMapper">
<select id="addUser" statementType="CALLABLE" parameterType="java.util.HashMap">
<![CDATA[
{call test_user_insert(
#{MyID,mode=IN,jdbcType=INTEGER},
#{MyFromID,mode=IN,jdbcType=INTEGER},
#{MyOpenID,mode=IN,jdbcType=VARCHAR},
#{MyPara1,mode=IN,jdbcType=VARCHAR},
#{MyPara2,mode=IN,jdbcType=VARCHAR},
#{MyPara3,mode=IN,jdbcType=VARCHAR},
#{MyFields1,mode=IN,jdbcType=VARCHAR},
#{MyFields2,mode=IN,jdbcType=VARCHAR},
#{MyFields3,mode=IN,jdbcType=VARCHAR},
#{MyFields4,mode=IN,jdbcType=VARCHAR},
#{Result,mode=OUT,jdbcType=INTEGER},
#{Detail,mode=OUT,jdbcType=VARCHAR},
#{orderid,mode=OUT,jdbcType=VARCHAR}
)}
]]>
</select>
</mapper>
2、DAOは以下の
import java.util.Map;
public interface UserMapper {
void addUser(Map<Object, Object> map);
}
図3に示すように、以下の試験インタフェース
@RequestMapping("/adduser")
@ResponseBody
public void addUser(String data) {
logger.info("订单中心进入测试");
HashMap<Object, Object> map = new HashMap<>();
map.put("MyID", "66");
map.put("MyFromID", "1");
map.put("MyOpenID", openid);
map.put("MyPara1", "1");
map.put("MyPara2", "1");
map.put("MyPara3", "1");
map.put("MyFields1", data);
map.put("MyFields2", "1");
map.put("MyFields3", "1");
map.put("MyFields4", "1");
//map里面的参数必须和xml中的存储过程参数一一对应
userService.addUser(map);
//结果打印,参数为存储过程的out参数
logger.info("OUT_Result: "+map.get("Result"));
logger.info("OUT_Detail: "+map.get("Detail"));
logger.info("OUT_orderid: "+map.get("orderid"));
}