欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

mybatis-plus如何實(shí)現(xiàn)多表查詢

這篇文章給大家分享的是有關(guān)mybatis-plus如何實(shí)現(xiàn)多表查詢的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

成都創(chuàng)新互聯(lián)是由多位在大型網(wǎng)絡(luò)公司、廣告設(shè)計(jì)公司的優(yōu)秀設(shè)計(jì)人員和策劃人員組成的一個(gè)具有豐富經(jīng)驗(yàn)的團(tuán)隊(duì),其中包括網(wǎng)站策劃、網(wǎng)頁美工、網(wǎng)站程序員、網(wǎng)頁設(shè)計(jì)師、平面廣告設(shè)計(jì)師、網(wǎng)絡(luò)營銷人員及形象策劃。承接:網(wǎng)站建設(shè)、成都做網(wǎng)站、網(wǎng)站改版、網(wǎng)頁設(shè)計(jì)制作、網(wǎng)站建設(shè)與維護(hù)、網(wǎng)絡(luò)推廣、數(shù)據(jù)庫開發(fā),以高性價(jià)比制作企業(yè)網(wǎng)站、行業(yè)門戶平臺(tái)等全方位的服務(wù)。

java mybatis 多表查詢

簡介

實(shí)現(xiàn)簡單的實(shí)體類操作多表,  首先你的項(xiàng)目是使用了mybatis-plus 才可以使用

設(shè)計(jì)說明

  • 如何關(guān)聯(lián)表?

找第一張表注解為 TableId (mybatis-plus 注解)的屬性名, 到每二張表找同樣的屬性名, 如果沒找到,反過來找,如果還沒找到,挨個(gè)屬性找。以此類推,實(shí)現(xiàn)關(guān)聯(lián)的前提條件是 主從表的關(guān)聯(lián)例名必須一樣

// user 表
@TableId
private Integer userId
// address 表
@TableId
private Integer addressId
private Integer userId

使用說明

com.freedomen.multipselect 包放到你的項(xiàng)目中,使 com.freedomen.multipselect.mapper里的xml 要被掃描到,或手動(dòng)配置, com.freedomen.multipselect.service也要被發(fā)現(xiàn)

//引入service
@Autowired
private MultipleService multipleService;
//表關(guān)聯(lián), 關(guān)聯(lián)用戶表和地址表,查找 用戶表的所有字段和地址表的所有字段
MultipleSelect multipleSelect = MultipleSelect.newInstance("${1}", new User(), new Address());

multipleSelect
 .where("${0}")
 .like("userName", "張三");

multipleService.mulSelect(multipleSelect);

查找字段

//MultipleSelect.newInstance 的第一個(gè)參數(shù)是所要查找的字段
//${0} 或 ${user} 表是第一張表的所有字段 ${0}.userName或${user}.userName表示userName字段, 默認(rèn)第一張表的字段全部都返回的。 ${}中間的參數(shù)可以是后面實(shí)體的下標(biāo),也可以是表名 如user、user_address

//下面是要訂單表的所有信息 和用戶的姓名與號(hào)碼 和地址
MultipleSelect.newInstance("${1}.userName,${1}.userPhone,${2}", new Orders(), new User(), new Address());

查找條件

  • eq: =

  • notEq: !=

  • like: LIKE (前置已經(jīng)加了 '%')

  • between: between

  • and: 改變連接方式為 AND練級(jí)(默認(rèn))

  • or: 改變 連接方式為 OR

  • division:括號(hào)

  • in: IN

  • notIn: NOT IN

  • notLike: NOT LIKE

  • ...等等

//實(shí)例好 查找實(shí)體后可以操作實(shí)體
//注意: 如何實(shí)體內(nèi)屬性有值 將會(huì)以 eq方式and連接做為where 條件
MultipleSelect multipleSelect = MultipleSelect.newInstance("${1}.userName,${1}.userPhone,${2}", new Orders(), new User(), new Address());

multipleSelect
 .where("${0}") //哪張表
 .eq("ordersId", 1) //并且 訂單id = 1
 .like("ordersName", "cmcc") //并且 訂單名稱 like ''%cmcc'
 .or() //改變后續(xù)操作關(guān)系為 OR, 默認(rèn)為AND
 .notEq("orderSno", "123"); //或者 orderSno 不等于 '123'
 
multipleSelect
 .where("${1}") //哪張表接著用戶表 默認(rèn)and連接 可以 .or()改為 OR
 .in("userId", [1, 2, 3]); // 并且userId in [1, 2, 3]
 
multipleSelect
 .where("${2}")
 .or()
 .like("adressDetails", "江蘇"); //或者 地址 like '江蘇'

multipleService.mulSelect(multipleSelect); //查詢

排序

//MultipleSelect.setOrderBy(...columns)
MultipleSelect.setOrderBy("${1}.ordersName desc", "${2}.userId asc", ...)

分頁

//MultipleSelect.setPage(pageNo, pageSize);
MultipleSelect.setPage(1, 15); //第一頁 每頁 15條

multipleService.mulSelect返回結(jié)果

//MultipleResult
/* 原型
 private List<Map<String, Object>> data; //結(jié)果數(shù)據(jù)
 private Integer pageNo;  //如果設(shè)置了分頁 會(huì)有
 private Integer pageSize;  //如果設(shè)置了分頁 會(huì)有
 private Integer total;  //如果設(shè)置了分頁 會(huì)有
*/

邏輯刪除

//默認(rèn)是讀取 mybatis-plus 的 TableLogic 注解 0 未刪除,
//如果不是用 0 表示未刪除, 可以修改 MultipleSelect 的 setCustomWhere 方法中的下面這段中的 0 
 
if (logic != null)
 sb.append(" AND ")
 .append(te.getNickName())
 .append(".")
 .append(logic)
 .append(" = ")
 .append("0");

感謝各位的閱讀!關(guān)于“mybatis-plus如何實(shí)現(xiàn)多表查詢”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

新聞標(biāo)題:mybatis-plus如何實(shí)現(xiàn)多表查詢
轉(zhuǎn)載來于:http://chinadenli.net/article0/iphhoo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化網(wǎng)站策劃電子商務(wù)App開發(fā)域名注冊(cè)網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)