首页 > 其他分享 >@TableField(exist = false)是什么作用

@TableField(exist = false)是什么作用

时间:2023-09-24 13:33:05浏览次数:42  
标签:TableField false 数据库 Plus MyBatis exist

@TableField(exist = false) 是 MyBatis Plus 中的注解之一,用于指示该字段在数据库表中不存在,即告诉 MyBatis Plus 不进行与数据库的映射。

默认情况下,MyBatis Plus 会将实体类中的所有字段都映射到数据库表中的相应列。但是,有时候我们可能需要在实体类中定义一些非数据库字段或临时字段,这些字段不会对应任何数据库表的列。为了告诉 MyBatis Plus 忽略这些字段,我们可以使用 @TableField(exist = false) 注解。

使用 @TableField(exist = false) 注解的作用是:

  1. 告诉 MyBatis Plus 不需要将该字段与数据库表做映射关联。
  2. 在查询操作时,MyBatis Plus 会忽略该字段,不会生成与该字段相关的 SQL 语句。
  3. 在插入或更新操作时,MyBatis Plus 也会忽略该字段,不会将其包含在生成的 SQL 语句中。

以下是一个示例:

import com.baomidou.mybatisplus.annotation.TableField;

public class YourEntity {
    private Long id;
    
    @TableField(exist = false)
    private String tempField;
    
    // 其他字段和方法
}

在上述示例中,tempField 字段使用 @TableField(exist = false) 注解标记,表示该字段不需要与数据库表进行映射。在使用 MyBatis Plus 进行查询、插入或更新操作时,该字段都会被忽略。

请注意,使用 @TableField(exist = false) 注解的字段需要满足 Java Bean 规范,即需要有对应的 getter 和 setter 方法。

标签:TableField,false,数据库,Plus,MyBatis,exist
From: https://blog.51cto.com/u_16007699/7585558

相关文章

  • DBeaver中使用MySQL在建表时使用DROP TABLE IF EXISTS `tbl_book`;报错
    点击查看代码DROPTABLEIFEXISTS`tbl_book`;CREATETABLE`tbl_book`(`id`int(11)NOTNULLAUTO_INCREMENT,`type`varchar(20)DEFAULTNULL,`name`varchar(50)DEFAULTNULL,`description`varchar(255)DEFAULTNULL,PRIMARYKEY(`id`))ENGINE=Inn......
  • 已解决The following specifications were found to be incompatible with the existi
    已解决Thefollowingspecificationswerefoundtobeincompatiblewiththeexistingpythoninstallation文章目录报错问题解决方法PS报错问题之前在工作中遇到过这个坑,记录一下问题以及解决方法,不一定针对所有情况都能用,但是可以供大家参考。问题描述如下:UnsatisfiableErr......
  • Physical file does not exist, SAS.ReportFontsforClients.9.4.saswcur.ttf
    ERROR:Physicalfiledoesnotexist,\SAS\ReportFontsforClients\9.4\saswcur.ttfAcircumventionforthisissueistoaddthefollowingOPTIONSstatementtoyourSAScodebeforetheODSPDFFILE=statement:optionssysprintfont="Courier";To......
  • class path resource [.xml] cannot be opened because it does not exist
    classpathresource[bean1.xml]cannotbeopenedbecauseitdoesnotexist错误重现bug:Exceptioninthread"main"org.springframework.beans.factory.BeanDefinitionStoreException:IOExceptionparsingXMLdocumentfromclasspathresource[bean1.xml]......
  • exist和left join 性能对比
    今天遇到一个性能问题,再调优过程中发现耗时最久的计划是exist部分涉及的三个表。然后计划用leftjoin来替换exist,然后查询了很多资料,大部分都说exist和leftjoin性能差不多。为了验证这一结论进行了如下实验步骤如下1、创建测试表droptableapp_family;CREATETABLEapp......
  • KingbaseES V8R6集群运维案例之---访问系统表unrecognized token- false故障
    KingbaseESV8R6集群运维案例之---访问系统表‘unrecognizedtoken:"false"’故障案例说明:KingbaseESV8R6集群在升级补丁后,主备库访问系统表出现‘unrecognizedtoken:"false"’故障,如下图所示:适用版本:KingbaseESV8R3/R6一、问题分析1、连接数据库执行系统表访问(如......
  • exist和left join 性能对比
    今天遇到一个性能问题,再调优过程中发现耗时最久的计划是exist部分涉及的三个表。然后计划用leftjoin来替换exist,然后查询了很多资料,大部分都说exist和leftjoin性能差不多。为了验证这一结论进行了如下实验步骤如下1、创建测试表droptableapp_family;CREATETABLEapp......
  • MySQL中exists和in的区别
    https://blog.csdn.net/m0_50370837/article/details/124239171?ops_request_misc=&request_id=&biz_id=102&utm_term=mysql%20IN%20%E5%92%8CEXISTS%20%E7%9A%84%E5%8C%BA%E5%88%AB&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb......
  • 项目开发中难点-项目使用v-if控制表单/元素/组件显示隐藏,例如调用接口后赋值需重新加
    项目中使用v-if="show"  控制组件的显示或隐藏,当接口返回后this.show=false,进行赋值,后this.show=true显示 。但是页面没有正常显示,此时使用this.$nextTick。 一、$nextTick()概述1.$nextTick()原理$nextTick()是Vue.js框架中的一个方法,它主要用于DOM操作......
  • 【git pull】 error: You have not concluded your merge (MERGE_HEAD exists).
    问题$gitpullerror:Youhavenotconcludedyourmerge(MERGE_HEADexists).......