1.创建Mapper接口类
public interface TCustomerOrgTempMapper {
/**
* 存储过程更新
*
* @param map
* @return
*/
Map<String,String> callProceUpdate(Map<String, String> map);
}
2.mybatis sql文件
<?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="cn.caitc.ecif.custinfo.dao.TCustomerOrgTempMapper" >
<select id="callProceUpdate" parameterType="java.util.HashMap"
statementType="CALLABLE" resultType="java.util.HashMap">
<![CDATA[
{call P_E_UPDATE_CUST_INFO_U(
#{custNo,mode=IN,jdbcType=VARCHAR},
#{id,mode=IN,jdbcType=VARCHAR},
#{status,mode=OUT,jdbcType=VARCHAR}
)}
]]>
</select>
</mapper>
3.调存储过程,存储过程返回的值在传入的map里可以获取
CustomerOrgExtendVo customerOrgExtendVo = custCnVo.getCustOrgExtendVo();
String customerOrgExtendJson = JSON.toJSONString(customerOrgExtendVo);
String id = StringUtil.UUID32();
TCustomerOrgTemp tCustomerOrgTemp = ClassToolUtil.arrayJsonToObj(new String[]
{customerOrgExtendJson,custVoJson},TCustomerOrgTemp.class);
tCustomerOrgTemp.setId(id);
tCustomerOrgTempMapper.insert(tCustomerOrgTemp);
Map<String, String> params = new HashMap<String, String>(5);
params.put("id", id);
params.put("custNo", custNo);
tCustomerOrgTempMapper.callProceUpdate(params);
if("false".equals(params.get("status"))){
ResultVo resultVo = new ResultVo();
resultVo.setStatus(false);
resultVo.setMessage("E10000009");
return resultVo;
}
4.mybatis执行多条sql
<insert id="custJoin">
begin
insert into tableA(join_serial, cust_no, old_cust_no, status, join_time, join_user)
values(#{params.join_id}, #{params.custNo}, #{params.suspectedCustNo}, '0', sysdate, #{params.createUser});
insert into tableB (join_id, join_cust_no, cust_no, cust_name, en_name, customer_type, id_type, id_number, contact_way, country_code,
select #{params.join_id},#{params.custNo},cust_no, cust_name, en_name, customer_type, id_type, id_number, contact_way, country_code,
from tableC where cust_no=#{params.suspectedCustNo};
delete from e_basic_info where cust_no = #{params.suspectedCustNo};
end;
</insert>