単にストアドプロシージャを呼び出すMyBatisの

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"));
		
	}

 

公開された27元の記事 ウォン称賛12 ビュー50000 +

おすすめ

転載: blog.csdn.net/baidu_38226233/article/details/90371458