MyBatis Plus排除非表字段的三种方法

在有些情况下,会存在类里面的字段,不是数据库字段的情况,那么如果我们还是需要使用MyBatis Plus自带的CURD方法需要怎么做呢?那就需要在类里面排除非表字段了,下面我给大家介绍三种方法

1. 使用transient关键字
    这个关键字是啥呢?
        这个是一个Java语言的关键字,变量修饰符,
        如果用transient声明一个实例变量,当对象存储时,它的值不需要维持。
        换句话来说就是,用transient关键字标记的成员变量不参与序列化过程。
    它的作用:
        Java的serialization提供了一种持久化对象实例的机制。
        当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它。
        为了在一个特定对象的一个域上关闭serialization,可以在这个域前加上关键字transient。
        当一个对象被序列化的时候,transient型变量的值不包括在序列化的表示中,
        然而非transient型的变量是被包括进去的。
        
     这样在使用MyBatis Plus自带的CURD方法时这个属性就会被忽略
    

    /**
    例如
    **/
    public class Student{

        private transient String id;

       }


2. 使用static关键字
    
    /**
    例如
    **/
    public class Student{

        private  static String id;

       }
  
  这样的静态属性也是会被忽略的


3. 使用@TableFieId注解
    这个注解可以用于绑定数据库字段,但是它里面还有一个属性 exist
    这个属性在默认的时候时为true,但是你可以把它设置为false
    这样子就可以在使用MyBatis Plus自带的CURD方法时忽略这个属性

    /**
    例如
    **/
    public class Student{
        
        @TableFieId(exist=false)
        private  String id;

       }

这三种方法就可以解决某个变量不在数据库中对应任何字段的问题了

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 对于一个快速开发框架来说,离不开一个很重要的功能模块那就是数据库访问,目前在日常开发中用的最多的当然就是mybat...
    monkey01阅读 2,446评论 2 15
  • MyBatis-Plus官网地址:https://mp.baomidou.com/ 一、mybatis-plus简...
    MonesyHuang阅读 2,936评论 2 15
  • MyBatis-Plus视频教程网站https://www.imooc.com/learn/1130以下是学习过程...
    日常麻花阅读 758评论 0 0
  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 5,869评论 0 4
  • 新年就这样开始了,在新的一年里,每个人都对自己的生活有了自己的规划,然而不是所有人都能够做到。而我对自己的新...
    MYNSXDKS阅读 97评论 0 0