欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mybatis-plus實(shí)現(xiàn)多表查詢的示例代碼

 更新時(shí)間:2024年11月29日 09:23:06   作者:小林想被監(jiān)督學(xué)習(xí)  
MyBatis-Plus提供了多種方式實(shí)現(xiàn)多表查詢,包括使用注解、MyBatis-PlusJoin擴(kuò)展和XML配置文件,每種方法都有其適用場(chǎng)景和優(yōu)勢(shì),本文就來(lái)具體介紹一下,感興趣的可以了解一下

在MyBatis-Plus中實(shí)現(xiàn)多表查詢通常有以下幾種方法:

1. 使用注解進(jìn)行多表查詢

你可以在 Mapper 接口中使用 @Select 注解來(lái)編寫SQL查詢語(yǔ)句,實(shí)現(xiàn)多表查詢。例如,如果你想根據(jù)用戶ID查詢用戶信息和對(duì)應(yīng)的區(qū)域名稱,可以這樣寫:

@Mapper
@Repository
public interface UserMapper extends BaseMapper<User> {
    @Select("select user.* ,area.area_name from user,area " +
            "where user.area_id = area.id and user.id = #{id}")
    User getUserById(int id);
}

2. 使用MyBatis-Plus Join擴(kuò)展

MyBatis-Plus Join是一個(gè)擴(kuò)展庫(kù),它提供了多表聯(lián)查的能力。你可以通過(guò)添加依賴來(lái)使用它:

<dependency>
    <groupId>com.github.yulichang</groupId>
    <artifactId>mybatis-plus-join</artifactId>
    <version>1.4.5</version>
</dependency>

然后,你可以使用JoinLambdaQueryWrapper來(lái)構(gòu)建多表聯(lián)查的條件。例如,查詢每個(gè)訂單的用戶信息:

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.github.yulichang.toolkit.MPJQueryWrapper;
public class OrderService {
    @Autowired
    private OrderMapper orderMapper;
    public List<UserOrderDTO> getOrderWithUser() {
        MPJLambdaWrapper<Order> wrapper = new MPJLambdaWrapper<>();
        wrapper.selectAll(Order.class)        // 查詢Order表所有字段
               .select(User::getName)         // 查詢User表的Name字段
               .leftJoin(User.class, User::getId, Order::getUserId);  // 使用left join連接
        return orderMapper.selectJoinList(UserOrderDTO.class, wrapper);
    }
}

3. 使用XML配置文件進(jìn)行多表查詢

另一種方法是在Mapper的XML配置文件中定義多表查詢的SQL語(yǔ)句。例如:

<mapper namespace="com.quanxiaoha.mybatisplusdemo.mapper.UserMapper">
    <resultMap id="orderMap" type="com.quanxiaoha.mybatisplusdemo.model.OrderVO">
        <result property="userName" column="name"/>
        <result property="userAge" column="age"/>
        <!-- 其他字段映射 -->
    </resultMap>
    <select id="selectOrders" resultMap="orderMap">
        select o.order_id, o.user_id, o.goods_name, o.goods_price, u.name, u.age
        from t_order as o left join t_user as u on o.user_id = u.id
    </select>
</mapper>

這些方法提供了靈活的方式來(lái)實(shí)現(xiàn)多表查詢,你可以根據(jù)項(xiàng)目的具體需求選擇合適的實(shí)現(xiàn)方式。

到此這篇關(guān)于mybatis-plus實(shí)現(xiàn)多表查詢的示例代碼的文章就介紹到這了,更多相關(guān)mybatis-plus 多表查詢內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring注解之@Import使用方法講解

    Spring注解之@Import使用方法講解

    @Import是Spring基于Java注解配置的主要組成部分,下面這篇文章主要給大家介紹了關(guān)于Spring注解之@Import的簡(jiǎn)單介紹,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • myeclipse開發(fā)servlet_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    myeclipse開發(fā)servlet_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    MyEclipse,是在eclipse基礎(chǔ)上加上自己的插件開發(fā)而成的功能強(qiáng)大的企業(yè)級(jí)集成開發(fā)環(huán)境,主要用于Java、Java EE以及移動(dòng)應(yīng)用的開發(fā)。下面這篇文章主要給大家介紹了關(guān)于myeclipse開發(fā)servlet的相關(guān)資料,需要的朋友可以參考下。
    2017-07-07
  • SpringMVC全局異常處理小結(jié)

    SpringMVC全局異常處理小結(jié)

    在開發(fā)中,不管是dao層、service層還是controller層,都有可能拋出異常,在springmvc中,能將所有類型的異常處理從各處理過(guò)程解耦出來(lái),既保證了相關(guān)處理過(guò)程的功能較單一,也實(shí)現(xiàn)了異常信息的統(tǒng)一處理和維護(hù),本文介紹SpringMVC全局異常處理,感興趣的朋友一起看看吧
    2024-03-03
  • java中out.print和out.write的方法

    java中out.print和out.write的方法

    本文用一個(gè)小例子說(shuō)明java out.print和out.write的方法,大家參考使用吧
    2013-11-11
  • jdk源碼閱讀Collection詳解

    jdk源碼閱讀Collection詳解

    這篇文章主要介紹了jdk源碼閱讀Collection詳解,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2017-12-12
  • java中for循環(huán)執(zhí)行的順序圖文詳析

    java中for循環(huán)執(zhí)行的順序圖文詳析

    關(guān)于java的for循環(huán)想必大家非常熟悉,它是java常用的語(yǔ)句之一,這篇文章主要給大家介紹了關(guān)于java中for循環(huán)執(zhí)行順序的相關(guān)資料,需要的朋友可以參考下
    2021-06-06
  • MyBatis?if?test?判斷字符串相等不生效問(wèn)題

    MyBatis?if?test?判斷字符串相等不生效問(wèn)題

    這篇文章主要介紹了MyBatis?if?test?判斷字符串相等不生效問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • SpringCloud Eureka的使用教程

    SpringCloud Eureka的使用教程

    這篇文章主要給大家介紹了關(guān)于SpringCloud Eureka使用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Java面試題及答案集錦(基礎(chǔ)題122道,代碼題19道)

    Java面試題及答案集錦(基礎(chǔ)題122道,代碼題19道)

    本文是小編收集整理的關(guān)于java基礎(chǔ)面試題及答案集錦,基礎(chǔ)題目有122道,代碼題目有19道,非常不錯(cuò),值得收藏,需要的朋友參考下
    2017-01-01
  • 上傳自己的jar包到maven中央倉(cāng)庫(kù)的快速操作方法

    上傳自己的jar包到maven中央倉(cāng)庫(kù)的快速操作方法

    網(wǎng)絡(luò)上可以搜索到很多jar包到中央倉(cāng)庫(kù),但是都不是多適合自己的項(xiàng)目,于是自己動(dòng)手寫個(gè),本文檔通過(guò)sonatype上傳jar包至maven中央倉(cāng)庫(kù),Sonatype通過(guò)JIRA來(lái)管理OSSRH倉(cāng)庫(kù),具體實(shí)例代碼跟隨小編一起看看吧
    2021-08-08

最新評(píng)論