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

MyBatis-Plus中@TableField和@TableId說明

 更新時間:2026年01月12日 08:44:12   作者:strggle_bin  
文章詳細(xì)介紹了Mybatis-plus中常用的注解及其用途,包括@TableField、@TableId等,通過這些注解可以解決字段不一致、字段不顯示、忽略字段以及主鍵查詢等問題,從而提高開發(fā)效率和數(shù)據(jù)安全性

一、@TableField(value = “表字段”)

如果表的字段與pojo類的屬性值對應(yīng)不上,就像表字段為user_name,但是屬性的為uName時,在查詢所有中就會報錯,找不到表的字段信息。

java.sql.SQLSyntaxErrorException: Unknown column ‘u_name’ in ‘field list’

就是表的字段和User類沒有對應(yīng)上。

這里就需要加入該注解@TableField(value = “user_name”),解決字段不一致問題(value寫表字段名),使得一一對應(yīng)起來。

    @TableField(value = "user_name")
    private String uName;

注:

但如果表字段user_name。定義的userName。

駝峰命名會自動識別。不寫注解也可以)

再次運(yùn)行即可解決該問題 如圖所示:

二、@TableField(select = false)

這是用來解決如果用戶名密碼不想顯示時可以在屬性上添加該字段,sql語句就不會去查詢該字段。

這樣在查詢時密碼字段會變成null輸出,保證安全性。

 	//查詢不顯示用戶密碼
    @TableField(select = false)
    private String userPassword;

三、@TableField(exist = false)

在添加中,如果User類下的屬性數(shù)據(jù)庫字段沒有,再添加時還會給這個屬性賦值,然后發(fā)送到mapper執(zhí)行插入數(shù)據(jù)操作時就會報錯。

java.sql.SQLSyntaxErrorException: Unknown column ‘hobby’ in ‘field list’

Mybatis-plus忽略表中映射的字段:

Mybatis-plus使用entity和數(shù)據(jù)庫進(jìn)行關(guān)聯(lián)映射,有時候可能有些字段,在當(dāng)前表中不存在,但是操作的時候,又需要進(jìn)行使用,所以有時候就需要進(jìn)行忽略。

具體如何忽略如下:

  • @TableField(exist = false):表示該屬性不是表中字段,但又是必須使用的。
  • @TableField(exist = true):表示該屬性是表中字段。

執(zhí)行下面的測試方法進(jìn)行測試:

	//測試添加方法
    @Test
    public void testInsert(){
        User user=new User();
        user.setUserName("哈哈111");
        user.setUserEmail("12433");
        user.setUserRole("ADMIN");
        user.setUserStatus("0");
        user.setUserPassword("12344");
 
		// 表中沒有字段
        user.setHobby("足球");
        //受影響的行數(shù)  count
        int count = userMapper.insert(user);
        if(count>0){//添加成功
            //輸出所有數(shù)據(jù)
            testSelectList();
        }else {//添加失敗
            System.out.println("添加失敗~");
        }
    }

解決該方法:

就要使用 @TableField(exist = false)注解,表示數(shù)據(jù)表中沒有該字段,添加時生成sql代碼就會知道。

//數(shù)據(jù)庫中沒有該字段時需要添加注解
@TableField(exist = false)
private String hobby;

四、@TableId(type = IdType.AUTO)補(bǔ)充

這個是通過id查詢時,如果不在id主鍵屬性上添加該注解的話,就會報以下錯誤

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): cn.imust.mp.mapper.UserMapper.selectById

這就表名雖然有屬性和表字段也對應(yīng),但是在通過id查詢時MP不知道這個是主鍵,所以無法執(zhí)行該方法,解決方法就是在屬性上添加@TableId(type = IdType.AUTO),type等于的值有很多,一般主鍵都是用這個。

	@TableId(type = IdType.AUTO)
    private Integer userId;

查看運(yùn)行效果 如圖所示:

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java多線程及分布式爬蟲架構(gòu)原理解析

    Java多線程及分布式爬蟲架構(gòu)原理解析

    這篇文章主要介紹了Java多線程及分布式爬蟲架構(gòu)原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • Springboot主程序類注解配置過程圖解

    Springboot主程序類注解配置過程圖解

    這篇文章主要介紹了Springboot主程序類注解配置過程圖解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • 基于SSM+Shiro+Bootstrap實(shí)現(xiàn)用戶權(quán)限管理系統(tǒng)

    基于SSM+Shiro+Bootstrap實(shí)現(xiàn)用戶權(quán)限管理系統(tǒng)

    這篇文章主要介紹了基于SSM+Shiro實(shí)現(xiàn)一個用戶權(quán)限管理系統(tǒng),每位用戶只可訪問指定的頁面,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)或工作有一定幫助,快跟隨小編一起學(xué)習(xí)吧
    2021-12-12
  • java往php傳數(shù)據(jù)操作方法

    java往php傳數(shù)據(jù)操作方法

    在本篇內(nèi)容里小編給大家分享的是關(guān)于java往php傳數(shù)據(jù)操作方法和技巧,需要的朋友們可以跟著學(xué)習(xí)下。
    2018-12-12
  • 詳解java google Thumbnails 圖片處理

    詳解java google Thumbnails 圖片處理

    這篇文章主要介紹了java google Thumbnails 圖片處理的相關(guān)知識,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Java圖形化界面設(shè)計之布局管理器之BorderLayout案例詳解

    Java圖形化界面設(shè)計之布局管理器之BorderLayout案例詳解

    這篇文章主要介紹了Java圖形化界面設(shè)計之布局管理器之BorderLayout案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • springcloud實(shí)現(xiàn)注冊中心Eureka

    springcloud實(shí)現(xiàn)注冊中心Eureka

    這篇文章主要介紹了springcloud實(shí)現(xiàn)注冊中心Eureka,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • 詳解Java數(shù)據(jù)結(jié)構(gòu)和算法(有序數(shù)組和二分查找)

    詳解Java數(shù)據(jù)結(jié)構(gòu)和算法(有序數(shù)組和二分查找)

    本篇文章主要介紹了詳解Java數(shù)據(jù)結(jié)構(gòu)和算法(有序數(shù)組和二分查找),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • SpringCloud?Gateway中GatewayFilterChain執(zhí)行流程詳解

    SpringCloud?Gateway中GatewayFilterChain執(zhí)行流程詳解

    Spring?Cloud?Gateway旨在為微服務(wù)架構(gòu)提供一種簡單有效的、統(tǒng)一的?API?路由管理方式。Spring?Cloud?Gateway?作為?Spring?Cloud?生態(tài)系中的網(wǎng)關(guān),它不僅提供統(tǒng)一的路由方式,并且基于?Filter?鏈的方式提供了網(wǎng)關(guān)基本的功能,例如:安全、監(jiān)控/埋點(diǎn)和限流等
    2022-10-10
  • SpringBoot使用CORS實(shí)現(xiàn)無縫跨域的方法實(shí)現(xiàn)

    SpringBoot使用CORS實(shí)現(xiàn)無縫跨域的方法實(shí)現(xiàn)

    CORS 是一種在服務(wù)端設(shè)置響應(yīng)頭部信息的機(jī)制,允許特定的源進(jìn)行跨域訪問,本文主要介紹了SpringBoot使用CORS實(shí)現(xiàn)無縫跨域的方法實(shí)現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2023-10-10

最新評論

永修县| 当涂县| 宁海县| 德阳市| 保定市| 昆山市| 华池县| 枣庄市| 淮安市| 义马市| 荔波县| 神农架林区| 屏东市| 太湖县| 竹溪县| 临沂市| 得荣县| 平顶山市| 崇礼县| 扎赉特旗| 聂拉木县| 溧水县| 陇川县| 沾化县| 陇南市| 乌兰县| 建阳市| 苗栗县| 永济市| 霞浦县| 无棣县| 射阳县| 长岛县| 庆城县| 鄢陵县| 中方县| 禹州市| 屏东县| 南城县| 安阳县| 昆山市|