Springcloud學習筆記33--檔案儲存資訊查詢功能(使用mybatis xml 寫原生sql)
阿新 • • 發佈:2021-10-13
1.controller
利用OssListDto實體類接收多個引數,同時利用@RequestParam引數接收單個引數
@Api(tags="bs_file_store") @RestController @RequestMapping("/test/bsFileStore") @Slf4j public class BsFileStoreController extends JeecgController<BsFileStore, IBsFileStoreService> { @Autowired private IBsFileStoreService bsFileStoreService;/** * 分頁列表查詢 * * @param ossListDto * @param pageNo * @param pageSize * @param req * @return */ @AutoLog(value = "bs_file_store-分頁列表查詢") @ApiOperation(value="bs_file_store-分頁列表查詢", notes="bs_file_store-分頁列表查詢") @GetMapping(value = "/list") public Result<?> queryOssList(OssListDto ossListDto, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { log.info(pageNo.toString()); log.info(pageSize.toString()); return Result.OK(bsFileStoreService.queryOssList(ossListDto,pageNo,pageSize)); } }
2.service介面及其實現類
(1)service介面
public interface IBsFileStoreService extends IService<BsFileStore> { /** * 儲存列表 * @param ossListDto * @param pageNo * @param pageSize * @return */ IPage<OssListDto> queryOssList(OssListDto ossListDto, Integer pageNo, Integer pageSize); }
(2)實現類
@Service @DS("multi-datasource1") @Slf4j public class BsFileStoreServiceImpl extends ServiceImpl<BsFileStoreMapper, BsFileStore> implements IBsFileStoreService { @Autowired private BsFileStoreMapper bsFileStoreMapper; @Override public IPage<OssListDto> queryOssList(OssListDto ossListDto, Integer pageNo, Integer pageSize) { Page<OssListDto> page=new Page<>(pageNo,pageSize); List<OssListDto> ossList=bsFileStoreMapper.queryOssList(ossListDto); log.info("hell0"); return null; } }
3.mapper層介面與mybatis xml中sql編寫
public interface BsFileStoreMapper extends BaseMapper<BsFileStore> { /** * oss儲存列表 * @param ossListDto * @return */ List<OssListDto> queryOssList(OssListDto ossListDto); }
對應的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="org.jeecg.modules.mapper.BsFileStoreMapper"> <!--多表關聯查詢,推薦直接用傳統 mybatis xml--> <select id="queryOssList" resultType="org.jeecg.modules.dto.OssListDto"> select id,os_name as osName,IFNULL(NULL,1) storeType,endpoint_first as storePath from pm_os_info <where> <if test="osName!=null"> os_name=#{osName} </if> </where> </select> </mapper>
#{osName}是拿取BsFileStoreMapper介面中queryOssList方法所傳遞的實體類OssListDto中的osName成員變數,將其作為where條件的引數
id="queryOssList"
4.postman測試
postman模擬前端:
後端debug介面: