Mapper.xml
<insert id="setReport" statementType="CALLABLE" parameterType="Map"> {call INSERT_EMR( #{IDH, mode=IN, jdbcType=NUMERIC}, #{IJG, mode=IN, jdbcType=VARCHAR}, #{IZD, mode=IN, jdbcType=VARCHAR}, #{IZT, mode=IN, jdbcType=VARCHAR}, #{IYS, mode=IN, jdbcType=VARCHAR}, #{IRQ, mode=IN, jdbcType=DATE}, #{ERRMSG, mode=OUT, jdbcType=VARCHAR}, #{ERRCODE, mode=OUT, jdbcType=VARCHAR} )} </insert>
ReportMapper.java
@Repository public interface ReportMapper { /** * 入参为Map 方便 */ void setReport(Map param); }
ReportController.java
@RestController @RequestMapping("/report") public class ReportController { @Autowired ReportMapper reportMapper; @GetMapping("/setReport/{reportNo}") @AuthIgnore public String setReport(@PathVariable("reportNo") String reportNo) throws Exception { Map<String, Object> map = new HashMap<>(); map.put("IDH", reportNo); map.put("IJG", 'A'); map.put("IZD", 'B'); map.put("IZT", 'C'); map.put("IYS", 'D'); map.put("IRQ", 'E'); map.put("ERRMSG", ""); //--OUT 返回 错误消息 map.put("ERRCODE", ""); //--OUT 返回 错误编码 logger.info("input => {}", JSON.toJSONString(map)); reportMapper.setReport(map); logger.info("output => {}", JSON.toJSONString(map)); return PojoUtil.pojoToJson(map); } }
输出结果:
input => {"IDH":"123","IJG":"A","IZD":"B","IZT":"C","IYS":"D","IRQ":"E","ERRCODE":"","ERRMSG":""} output => {"IDH":"123","IJG":"A","IZD":"B","IZT":"C","IYS":"D","IRQ":"E","ERRCODE":"1","ERRMSG":"成功!"}