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