日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

MybatisPlus自定義Sql實(shí)現(xiàn)多表查詢的示例

瀏覽:197日期:2023-10-23 10:26:47

前言

前段時(shí)間看同事的代碼,發(fā)現(xiàn)他用Layui+MybatisPlus做分頁(yè)查詢做得很規(guī)整,認(rèn)真看了下代碼發(fā)現(xiàn)這種方式不僅適用于與Layui做分頁(yè)查詢,在任何時(shí)候需要多表聯(lián)查的時(shí)候都可以用到。 以下以Layui分頁(yè)查詢作為參考,在實(shí)際應(yīng)用中可以靈活使用。

分頁(yè)查詢VO對(duì)象

@Data@AllArgsConstructor@NoArgsConstructorpublic class LayuiData { private Integer code=0; private Long count; private String msg='ok'; private Object data;}

Controller

這里的“keyWord”和“registerTime”是后臺(tái)頁(yè)面可以查詢的字段,也就是普通的參數(shù),可以靈活變通。

@GetMapping('/getClientList')@ResponseBodypublic LayUIResult getAll( @RequestParam(name = 'page', required = true, defaultValue = '1') int num, @RequestParam(name = 'limit', required = true, defaultValue = '10') int size, String keyWord, String registerTime){ IPage<Map<String, Object>> listPage = clientService.findClientPage(num, size, keyWord,registerTime); //返回總數(shù)和數(shù)據(jù) return new LayuiData (listPage.getTotal(),listPage.getRecords());}

Service

IPage<Map<String, Object>> findClientPage(Integer num, Integer size, String keyWord, String registerTime);

ServiceImpl

這里的QueryWrapper內(nèi)的實(shí)例是<Map<String, Object>,不是平常的實(shí)體類,返回的也是Map。

@Overridepublic IPage<Map<String, Object>> findClientPage(Integer num, Integer size, String keyWord, String registerTime) { //創(chuàng)建QueryWrapper搜索對(duì)象,判斷參數(shù)不為空則傳入?yún)?shù) QueryWrapper<Map<String, Object>> wrapper = new QueryWrapper<>(); if (StringUtils.isNotEmpty(keyWord)) { wrapper.like('c.real_name', keyWord).or().like('c.phone', keyWord); } if (StringUtils.isNotEmpty(registerTime)) { String stime = registerTime.substring(0, 20); String etime = registerTime.substring(22, 41); wrapper.ge('c.register_time', stime).le('c.register_time', etime); } //創(chuàng)建分頁(yè)對(duì)象 Page<Map<String, Object>> page = new Page<>(num, size); return clientMapper.findClientPage(page, wrapper);}

Mapper

格式要求,QueryWrapper前面加上@param,括號(hào)里的Constants.WRAPPER內(nèi)容就是'ew',對(duì)應(yīng)xml文件里的ew

IPage<Map<String, Object>> findClientPage(Page<Map<String, Object>> page,@Param(Constants.WRAPPER) QueryWrapper<Map<String, Object>> wrapper);

XML內(nèi)容

重點(diǎn)在于我們用${ew.customSqlSegment}放在sql語(yǔ)句里,它可以直接把我們的wrapper里的查詢數(shù)據(jù)等同于where查詢添加進(jìn)去

<select resultType='java.util.Map'> SELECT c.id,c.real_name,c.phone,c.`status`, //實(shí)現(xiàn)將時(shí)間轉(zhuǎn)換成固定格式 DATE_FORMAT(c.register_time,’%Y-%m-%d %H:%i:%s’) registerTime, SUM(re.money) rechargeMoney, SUM(wi.withdrawal_money) withdrawalMoney,SUM(buy_money) orderMoney, wa.balance FROM client c LEFT JOIN recharge re ON c.id=re.client_id LEFT JOIN withdrawal wi ON c.id=wi.client_id LEFT JOIN wallet wa ON c.id=wa.client_id LEFT JOIN order_position ord on c.id=ord.client_id //重點(diǎn)是這里會(huì)插入wrapper的搜索語(yǔ)句 ${ew.customSqlSegment} GROUP BY c.id</select>

總結(jié)

這種方式相當(dāng)于在業(yè)務(wù)層已經(jīng)做好了參數(shù)判斷,不用再在xml文件內(nèi)用“if”標(biāo)簽判斷了。 除了在與Layui做分頁(yè)查詢外,在別的需要參數(shù)請(qǐng)求的地方也都可以變通的用這種方法,在使用MybatisPlus時(shí)使用這種方式可以使代碼更簡(jiǎn)潔,更清晰。 除此之外,在需要多表聯(lián)查的時(shí)候,這種方式是非常適用的。

MybatiPlus文檔

官方文檔里面也做介紹,版本需要大于3.0.7官方鏈接:使用 Wrapper 自定義SQL

MybatisPlus自定義Sql實(shí)現(xiàn)多表查詢的示例

到此這篇關(guān)于MybatisPlus自定義Sql實(shí)現(xiàn)多表查詢的示例的文章就介紹到這了,更多相關(guān)MybatisPlus 多表查詢內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
91精品精品| 日本国产一区| 美女国产一区二区三区| 日韩高清电影一区| 欧美久久香蕉| 国产欧美成人| 精品国产欧美日韩| 国产精品99久久免费观看| 久久av在线| 日韩精品中文字幕吗一区二区| 日本vs亚洲vs韩国一区三区二区| 香蕉久久国产| 日本精品国产| 国产 日韩 欧美 综合 一区| 黄色欧美在线| 亚洲播播91| 91成人精品| 蜜桃视频在线观看一区| 日本午夜精品一区二区三区电影| 日韩高清一区在线| 欧美aa在线视频| 欧美少妇精品| 久久中文视频| 婷婷成人在线| 中文字幕日韩欧美精品高清在线| 国产精品色在线网站| 久久久久国产| 国产视频网站一区二区三区| 精品入口麻豆88视频| 91精品二区| 麻豆久久一区| 首页欧美精品中文字幕| 精品三区视频| 日韩精品一二三区| 成人在线超碰| 亚洲精品自拍| 91精品精品| 国产66精品| 欧美精品一区二区久久| 国产欧美日韩精品高清二区综合区 | 日本伊人久久| 在线一区av| 国产美女精品视频免费播放软件| 成人午夜国产| 欧美片网站免费| 久久国产精品99国产| 99久久婷婷| 色综合五月天| 国产精品国产三级在线观看| 激情欧美国产欧美| 日韩精品导航| 日本欧美在线看| 日韩午夜高潮| 亚洲高清影视| 亚洲调教视频在线观看| 精品五月天堂| 麻豆精品视频在线观看免费| 国产精品一区二区免费福利视频| 99视频+国产日韩欧美| 久久激情婷婷| 欧美日韩尤物久久| 日韩免费看片| а√天堂8资源中文在线| 日本不卡的三区四区五区| 亚洲一区二区三区在线免费| 精品视频自拍| 国产盗摄——sm在线视频| 日本蜜桃在线观看视频| а√天堂8资源在线| 91精品亚洲| 欧美天堂亚洲电影院在线观看| 欧美日韩国产高清| 免费人成在线不卡| 久久不见久久见中文字幕免费| 日韩88av| 精品一区免费| 国产精品午夜一区二区三区| 国精品产品一区| 久久久久伊人| 亚洲啊v在线| 日本一区二区高清不卡| 国产精品亚洲综合色区韩国| 热久久久久久久| 自拍日韩欧美| 日韩精品视频在线看| 国产欧美亚洲一区| 欧洲一区二区三区精品| 午夜电影亚洲| 日韩av一级片| 四虎8848精品成人免费网站| 亚洲一级二级| 日韩av中文在线观看| 日韩在线不卡| 在线观看视频免费一区二区三区| 欧美一区精品| 国产精品片aa在线观看| 丝袜美腿一区| 国产日韩一区| 不卡在线一区二区| 久久久久久网| 国产成人久久精品麻豆二区 | 99久久久久久中文字幕一区| 视频一区欧美精品| 久久香蕉精品香蕉| 亚洲欧美日韩视频二区| 亚洲精品第一| 久久精品国产亚洲夜色av网站| 一区二区国产在线观看| 中文在线中文资源| 国产欧美一区二区三区精品观看| 久久高清免费| 精品视频高潮| 国产精品亚洲欧美| 亚洲我射av| 亚洲一区二区动漫| 成人自拍av| 卡一卡二国产精品| 日韩高清电影免费| 中文字幕日本一区二区| 午夜国产精品视频免费体验区| 少妇高潮一区二区三区99| 91精品91| 夜夜嗨网站十八久久| 99成人在线视频| 亚洲天堂1区| 久久国产免费| 久久黄色影院| 亚洲国产日韩欧美在线| 1024精品一区二区三区| 91精品xxx在线观看| 欧美www视频在线观看| 国产精品白丝av嫩草影院| 日韩av午夜在线观看| 91综合久久爱com| 日本欧美在线| 蜜臀av一区二区在线免费观看| 99riav国产精品| 亚洲欧美高清| 欧美一区久久| 精品久久一区| 色网在线免费观看| 九九精品调教| 国产女优一区| 日本免费一区二区视频| 国产精品日韩精品中文字幕| 九九九精品视频| 人在线成免费视频| 免费日韩av片| 国产精品亚洲成在人线| 国产精品一区二区精品 | 国产成人免费av一区二区午夜| 国产成人精品一区二区三区视频| 吉吉日韩欧美| 狠狠色综合网| 日韩成人午夜精品| 九九九精品视频| 黄色成人91| 国产精品v一区二区三区| 国产一区二区三区探花| 国产在线不卡| 97久久亚洲| 中文字幕在线视频久| 日韩影院在线观看| 欧美一区不卡| 婷婷成人综合| 国产精品白丝一区二区三区| 在线日韩视频| 麻豆久久一区| 亚洲天堂av资源在线观看| 91青青国产在线观看精品| 丝袜亚洲精品中文字幕一区| 美女视频黄 久久| 在线日韩成人| 久久狠狠婷婷| 国产精品久久久免费| 免费国产自线拍一欧美视频| 国产在线一区不卡| 日本一区二区三区视频在线看| 国产精品久久久久毛片大屁完整版| 日韩高清中文字幕一区二区| 国产亚洲一区| 亚洲欧美网站在线观看| 99精品在线| 都市激情国产精品| 欧美偷窥清纯综合图区| 欧美资源在线| 99国产精品久久久久久久| 久久视频一区| 日韩中文影院| 水蜜桃久久夜色精品一区| 青青草精品视频| 婷婷五月色综合香五月| 99riav国产精品| 鲁鲁在线中文| 日韩88av| 精品国产免费人成网站| 水蜜桃精品av一区二区| 国内在线观看一区二区三区| 综合在线一区| 日本一区福利在线|