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

转载   QuincyBao   2020-09-15   12人阅读  0 条评论

在有些情况下,会存在类里面的字段,不是数据库字段的情况,那么如果我们还是需要使用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;

       }


本文地址:https://www.zjh336.cn/?id=1973
温馨提示:文章内容系作者个人观点,不代表华仔部落对观点赞同或支持。
版权声明:本文为转载文章,来源于  QuincyBao ,版权归原作者所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?