1. 程式人生 > 其它 >Springcloud學習筆記33--檔案儲存資訊查詢功能(使用mybatis xml 寫原生sql)

Springcloud學習筆記33--檔案儲存資訊查詢功能(使用mybatis xml 寫原生sql)

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介面: