存储过程的调用最终在mapper.xml中
以下是完整示例:
Controller层代码:
public class callProcedureController {
@ApiOperation(value = "存储过程调用", notes = "存储过程调用")
@PostMapping("/callProcedure")
public BaseResponse<?> callProcedure(@RequestParam String oldNo, @RequestParam String id,
@RequestParam String versionFlag) {
callProcedureService.callProcedure(oldNo, id, versionFlag);
return new BaseResponse<>();
}
}
Service层代码
public interface callProcedureService {
void release(String oldNo, String id, String versionFlag);
}
@Service
public class callProcedureServiceImpl implements callProcedureService {
@Override
@Transactional(rollbackFor = Exception.class)
public void release(String oldNo, String id, String versionFlag) {
callProcedureMapper.release(oldNo, id, versionFlag);
}
}
Dao层代码
public interface callProcedureMapper {
void release(@Param("oldNo") String oldNo, @Param("id") String id, @Param("versionFlag") String versionFlag);
}
mapper.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.procedure.test.mapper.callProcedureMapper">
<update id="release" statementType="CALLABLE">
{call proc_apply(#{oldNo,mode=IN}, #{id,mode=IN}, #{versionFlag,mode=IN})}
</update>
</mapper>