最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mybatis-Plus多表關(guān)聯(lián)查詢的使用案例解析

 更新時間:2023年05月13日 15:13:46   作者:頭不禿代碼不止  
這篇文章主要介紹了Mybatis-Plus多表關(guān)聯(lián)查詢的使用,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

項目的目錄結(jié)構(gòu):

有以下四個包:

1、 controller控制層

2、dao層, 項目的目錄結(jié)構(gòu): 有以下四個包:

1、 controller控制層

2、dao層,接口

3、pojo,shiulilei

4、service服務(wù)層

有表結(jié)構(gòu)如下:

部門表:dept

員工表:emp

假設(shè)要查詢每個員工所屬的部門(或位置等信息),就需要將兩張表連接起來,使用SQL語句很簡單(select * from emp,dept where emp.deptno=dept.deptno),但是在Java程序中怎么寫就比較復雜了。

 首先配置pom.xml配置文件

1.pojo包中有dept和emp兩個實例類

1)dept

@Data
@EqualsAndHashCode(callSuper = false)
@TableName("dept")
public class Dept implements Serializable {
    private static final long serialVersionUID = 1L;
    @TableId
    private Integer deptno;
    private String dname;
    private String loc;
}

 2)emp

@Data
@EqualsAndHashCode(callSuper = false)
@TableName("emp")
public class Emp implements Serializable {
    private static final long serialVersionUID = 1L;
    @TableId("empno")
    private Integer empno;
    private String ename;
    private String job;
    private Integer mgr;
    private LocalDateTime hiredate;
    private BigDecimal sal;
    private BigDecimal comm;
    private Integer deptno;
    private Dept dept;//多表關(guān)聯(lián)需要查詢的數(shù)據(jù)
}

 在Emp類中多了一個Dept對象,這個對象包含了每個員工對應(yīng)部門的信息。

2.在Emp的mapper映射文件(.xml)中的mapper之間添加如下代碼

<mapper namespace="com.nb.spring_boot.api.dao.IEmpDao">
    <resultMap id="empMapper" type="com.nb.spring_boot.api.pojo.Emp">
        <association property="dept" column="deptno" select="com.nb.spring_boot.api.dao.IDeptDao.selectById"/>
    </resultMap>
    <select id="queryEmps" resultMap="empMapper">
        select * from emp
    </select>
</mapper>

resultMap里的id屬性(empMapper)里面可以隨便寫一個變量名,可以不叫empMapper,select里的selectById在IDeptDao接口中要有該方法

Dept selectById(Integer deptno);

3.在Dept的mapper映射文件(.xml)中的mapper之間添加如下代碼

<select id="selectById" resultType="com.nb.spring_boot.api.pojo.Dept">
        select * from dept where deptno=#{deptno}
</select>

4.在IDeptDao接口中代碼如下

public interface IDeptDao extends BaseMapper<Dept> {
    Dept selectById(Integer deptno);
}

5.Emp的dao接口中和

public interface IEmpDao extends BaseMapper<Emp> {
    IPage<Emp> queryEmps(IPage<Emp> page,@Param(Constants.WRAPPER) Wrapper<Emp> wrapper);
}

6.IEmpService接口中

public interface IEmpService extends IService<Emp> {
    IPage<Emp> queryEmps(IPage<Emp> result, QueryWrapper<Emp> wrapper);
}

7.EmpserviceIml類中

public class EmpServiceImpl extends ServiceImpl<IEmpDao, Emp> implements IEmpService {
    @Autowired
    IEmpDao empDao;//這里報紅沒事
    @Override
    public IPage<Emp> queryEmps(IPage<Emp> result, QueryWrapper<Emp> wrapper) {
        result = empDao.queryEmps(result, wrapper);
        return result;
    }
}

8.接下來就是你自己在controller層寫方法

示例:

@RequestMapping("qemps")
IPage<Emp> queryEmps(@RequestParam(defaultValue = "1") int page,
                     @RequestParam(defaultValue = "5") int  limit){
    IPage<Emp> result = new Page<>(page, limit);
    QueryWrapper<Emp> wrapper = new QueryWrapper<>();
    wrapper.gt("sal", 1000);//查詢條件,工資大于1000,其他的可以研究一下,比如eq,le,like
    return empService.queryEmps(result, wrapper);
}

以上就是多表關(guān)聯(lián)查詢了~~~

到此這篇關(guān)于Mybatis-Plus多表關(guān)聯(lián)查詢的使用案例解析的文章就介紹到這了,更多相關(guān)Mybatis-Plus多表關(guān)聯(lián)查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Maven引入本地Jar包并打包進War包中的方法

    Maven引入本地Jar包并打包進War包中的方法

    本篇文章主要介紹了Maven引入本地Jar包并打包進War包中的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • 詳解Java中native關(guān)鍵字

    詳解Java中native關(guān)鍵字

    這篇文章主要為大家詳細介紹了Java中native關(guān)鍵字,什么是Native Method
    2016-02-02
  • IDEA配置并運行Scala項目的實現(xiàn)步驟

    IDEA配置并運行Scala項目的實現(xiàn)步驟

    本文主要介紹了IDEA配置并運行Scala項目的實現(xiàn)步驟,文中通過圖文示例介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-06-06
  • spring的Cache注解和redis的區(qū)別說明

    spring的Cache注解和redis的區(qū)別說明

    這篇文章主要介紹了spring的Cache注解和redis的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java啟動參數(shù)從基礎(chǔ)配置到高級調(diào)優(yōu)(最新整理)

    Java啟動參數(shù)從基礎(chǔ)配置到高級調(diào)優(yōu)(最新整理)

    文章系統(tǒng)講解Java啟動參數(shù)分類、內(nèi)存管理配置、GC調(diào)優(yōu)策略及生產(chǎn)環(huán)境實踐,重點涵蓋標準/非標準參數(shù)、堆/元空間/直接內(nèi)存設(shè)置、G1/Parallel等回收器選擇,并提供壓縮指針、容器化部署等優(yōu)化建議,感興趣的朋友跟隨小編一起看看吧
    2025-08-08
  • Java Optional介紹和用法示例解析

    Java Optional介紹和用法示例解析

    Java 的?Optional是 Java 8 引入的一個容器類,旨在更優(yōu)雅地處理可能為?null的值,避免顯式的?null檢查和空指針異常(NullPointerException),這篇文章給大家介紹Java Optional介紹和用法示例解析,感興趣的朋友一起看看吧
    2025-04-04
  • Java中Record的應(yīng)用小結(jié)

    Java中Record的應(yīng)用小結(jié)

    Java Record是Java 14引入的不可變數(shù)據(jù)載體,能自動生成模板代碼,下面就來介紹一下Java中Record的應(yīng)用,感興趣的可以了解一下
    2025-08-08
  • Java中基于Shiro,JWT實現(xiàn)微信小程序登錄完整例子及實現(xiàn)過程

    Java中基于Shiro,JWT實現(xiàn)微信小程序登錄完整例子及實現(xiàn)過程

    這篇文章主要介紹了Java中基于Shiro,JWT實現(xiàn)微信小程序登錄完整例子 ,實現(xiàn)了小程序的自定義登陸,將自定義登陸態(tài)token返回給小程序作為登陸憑證。需要的朋友可以參考下
    2018-11-11
  • Java16新特性record類使用細節(jié)示例詳解

    Java16新特性record類使用細節(jié)示例詳解

    這篇文章主要為大家介紹了Java16新特性record類使用細節(jié)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • Java 快速排序(QuickSort)原理及實現(xiàn)代碼

    Java 快速排序(QuickSort)原理及實現(xiàn)代碼

    這篇文章主要介紹了Java 快速排序(QuickSort)原理及實現(xiàn)代碼,有需要的朋友可以參考一下
    2014-01-01

最新評論

太谷县| 元朗区| 文昌市| 民丰县| 和静县| 新邵县| 峡江县| 苗栗县| 池州市| 靖边县| 延边| 延安市| 开封市| 麦盖提县| 湖南省| 灵寿县| 尤溪县| 井陉县| 龙岩市| 广安市| 酉阳| 望都县| 宜城市| 泸定县| 梁平县| 永昌县| 侯马市| 仙游县| 巢湖市| 清远市| 罗田县| 陈巴尔虎旗| 余庆县| 斗六市| 蓝田县| 武隆县| 连江县| 独山县| 湘潭县| 竹山县| 茶陵县|