久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > Mybatis駝峰詳解

Mybatis駝峰詳解

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-11-21 14:23:29 1700547809

一、什么是mybatis駝峰命名

駝峰命名法(CamelCase)是一種變量命名的規(guī)則,其中第一個單詞以小寫字母開始,后面的單詞則首字母大寫。MyBatis支持使用駝峰命名法來自動映射數(shù)據(jù)庫列名和Java對象的屬性名。具體來說,當(dāng)實體類中的變量名是駝峰命名時,MyBatis會自動將該變量名與數(shù)據(jù)庫列名(下劃線區(qū)分的)進行映射。

使用駝峰命名法不僅可以讓代碼更加清晰易讀,而且能夠大大減少手動映射的工作量。如果應(yīng)用程序中沒有使用駝峰命名法,MyBatis也提供了手動映射的功能。

二、mybatis配置駝峰命名

MyBatis配置文件中,可以通過以下方式啟用駝峰映射:


    

這個設(shè)置可以讓MyBatis自動將數(shù)據(jù)庫列名的下劃線轉(zhuǎn)換成Java類中的駝峰命名屬性名。

三、mybatis注解駝峰使用

在使用MyBatis的注解方式時,可以使用@Result注解中的property屬性來指定Java對象的屬性。如果實體類中的屬性名采用了駝峰命名法,則使用該屬性可以直接將數(shù)據(jù)庫列名和Java屬性關(guān)聯(lián)起來。

public interface UserMapper {
    @Select("select id, name, password, create_time createTime from user where id=#{id}")
    @Results({
            @Result(property = "createTime", column = "createTime"),
    })
    public UserModel selectById(@Param("id") Long id);
}

四、mybatis接口駝峰使用

在MyBatis中使用接口方式,可以使用@Results注解的property屬性來指定Java對象的屬性。如果使用駝峰命名,則不需要任何特殊的設(shè)置,MyBatis會自動進行映射。

public interface UserMapper {
    @Select("select id, name, password, create_time from user where id=#{id}")
    @Results({
            @Result(property = "createTime", column = "create_time"),
    })
    public UserModel selectById(Long id);
}

五、mybatis注解實現(xiàn)多表關(guān)聯(lián)查詢

在使用注解實現(xiàn)多表關(guān)聯(lián)查詢時,對于非駝峰命名的情況,可以使用column屬性來指定數(shù)據(jù)庫中列名的名稱。而對于駝峰命名的情況,只需要設(shè)置property屬性即可。

public interface OrderMapper {
    @Select("select o.id, o.order_no orderNo, o.total_price totalPrice, u.id userId, u.name userName " +
            "from orders o inner join user u on o.user_id = u.id where o.id=#{id}")
    @Results({
            @Result(property = "orderNo", column = "orderNo"),
            @Result(property = "totalPrice", column = "total_price"),
            @Result(property = "userId", column = "userId"),
            @Result(property = "userName", column = "userName"),
    })
    public OrderModel selectById(Long id);
}

六、mybatis手動映射實現(xiàn)

手動映射可以通過標(biāo)簽來實現(xiàn),這在非駝峰命名等特殊情況下特別有用??梢允褂胏olumn屬性來指定數(shù)據(jù)庫中列名的名稱,property屬性來指定Java類中的屬性名。


    
    
    
    



    
    



七、小結(jié)

MyBatis的駝峰命名法為開發(fā)者簡化了代碼編寫的過程,同時也減少了繁瑣的命名轉(zhuǎn)換與映射操作,提高了開發(fā)效率。通過本文的介紹,您可以更全面地了解并掌握MyBatis的駝峰命名法的使用。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT