1 在mapper.xml中调用
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" " <mapper namespace="com.xxx.mapper.XxxMapper"> <select id="expenseSum" parameterType="java.util.Map" statementType="CALLABLE" > {CALL method( #{parameter1, mode=IN, jdbcType=DECIMAL}, #{parameter2, mode=IN, jdbcType=VARCHAR}, #{parameter3, mode=OUT, jdbcType=DECIMAL}, #{parameter4, mode=OUT, jdbcType=VARCHAR} )} </select> </mapper>
2 在mapper.java中调用
void expenseSum(Map<String, Object> map);
3 在ServiceImpl.java中调用
Map<String, Object> m = new HashedMap<String, Object>(); String year = req.getParameter("YEAR"); m.put("parameter1", new BigDecimal(year)); m.put("parameter2",userCode); iExpenseSummaryMapper.expenseSum(m); if("0".equals(m.get("parameter3").toString())) { map.put("code", "0"); map.put("success", true); map.put("msg", m.get("parameter4")); }else { map.put("code", "500"); map.put("success", false); map.put("msg", m.get("parameter4")); }
4 SQL server中的存储过程头部
ALTER PROCEDURE [dbo].[method] (@parameter2 VARCHAR(30) , @parameter4 VARCHAR(30) OUTPUT )