使用mybatis-plus進行多表的條件查詢(模糊查詢)


廢話不多說,直接上代碼.......

 

seivice層

/** * 條件查詢某某信息 * * @param riderRiderLicenseVo * @return
     */
    public List<Rider> queryRiderByRiderLicense(RiderRiderLicenseVo riderRiderLicenseVo);

 

sevice實現層

    /** * 條件查詢某某信息 * * @param riderRiderLicenseVo * @return
     */ @Override public List<Rider> queryRiderByRiderLicense(RiderRiderLicenseVo riderRiderLicenseVo) {
//構造器 QueryWrapper riderQuery
= new QueryWrapper(); if (StringUtils.isNotNull(riderRiderLicenseVo.getName())) { riderQuery.like("name", riderRiderLicenseVo.getRiderName()); } if (StringUtils.isNotNull(riderRiderLicenseVo.getJobNumber())) { riderQuery.like("job_number", riderRiderLicenseVo.getRiderJobNumber()); } if (StringUtils.isNotNull(riderRiderLicenseVo.getPhone())) { riderQuery.like("phone", riderRiderLicenseVo.getRiderPhone()); } if (StringUtils.isNotNull(riderRiderLicenseVo.getIdCardNum())) { riderQuery.like("id_card_num", riderRiderLicenseVo.getIdCardNum()); } if (StringUtils.isNotNull(riderRiderLicenseVo.getStatus())) { riderQuery.eq("rider.status", riderRiderLicenseVo.getStatus()); }
//狀態不為2的
riderQuery.ne("status", 2); riderQuery.orderByDesc("create_time"); return riderMapper.queryRiderByRiderLicense(riderQuery); }

 

mapper層

Constants.WRAPPER-->使得可傳多個參數; 在mapper層中,如果你傳多個參數的話一定加上@Param這個注解,不然會報某某錯誤,詳情可以去試試。。。

    /** * 條件查詢某某信息 * * @param riderRiderLicenseVo * @return
     */
    public List<Rider> queryRiderByRiderLicense(@Param(Constants.WRAPPER) Wrapper<RiderRiderLicenseVo> riderRiderLicenseVo);

 

controller層

這里使用的mybatis-plus的內部插件分頁,封裝好請求分頁數據。

    @GetMapping("test") public TableDataInfo selectRiderList(RiderRiderLicenseVo riderRiderLicenseVo) { startPage(); List<Rider> list = riderService.queryRiderByRiderLicense(riderRiderLicenseVo); return getDataTable(list); }

 

分頁接口還可以這么寫

IPage<Station> findStationPage(IPage page, @Param(Constants.WRAPPER) Wrapper<Station> queryWrapper, DataScope dataScope);

 

附加

使用plus批量刪除

service層

   /** * 刪除商品信息 * * @param productId 商品id多個 * @return
     */
    public Integer deleteProductByIds(Long[] productId);

 

service實現層

    /** * 批量刪除商品信息 * * @param productId 商品id 多個 * @return
     */ @Override public Integer deleteProductByIds(Long[] productId) { Product product = new Product(); UpdateWrapper<Product> wrapper = new UpdateWrapper<>(); wrapper.in("product_id", productId); product.setStatus(5); return productMapper.update(product, wrapper); }

這里的操作可以說是批量修改,不過我查詢的時候過濾掉了。

 

到此結束了,如有疑問請下方留言哦,謝謝!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM