package com.dy.pipIrrGlobal.pojoBa; import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.writer.ObjectWriterImplToString; import com.baomidou.mybatisplus.annotation.*; import com.dy.common.mybatis.envm.Deleted; import com.dy.common.mybatis.envm.Disabled; import com.dy.common.po.BaseEntity; import lombok.*; import java.util.List; /** * TableName(value = “a”, autoResultMap = true) * autoResultMap参数为true时,表明个别字段在查询处理的时候自动转换为对象, * 只适合设置了TypeHandler、jdbcTyped的情况。autoResultMap 自动映射, * 通常配合 @TableField() 一起使用,确定映射规范性。 * 2023-10-24经实验: * 简单的@TableField("name")不用加上,即使类属性名是驼峰,数据库字段是下 * 划线情况,也不用加@TableField("name")。 */ //2023-10-24下面TableName不用配置表名称(value="BaUser"或“ba_user”) //只要通过驼峰命名法则类名与表名对应起来就可以了,如果不能对应起来,需要指定表名称 //例如@TableName(value="TestUser" autoResultMap = true) @TableName(value="ba_user", autoResultMap = true) @Data @Builder @ToString @NoArgsConstructor @AllArgsConstructor public class BaUser implements BaseEntity { public static final long serialVersionUID = 202310100926001L; /* 如果不明确 type类型,MP将自动为其赋值(雪花ID) IdType: AUTO(0), //自增 NONE(1), //未设置主键 INPUT(2), //手动输入 ASSIGN_ID(3), //默认全局唯一ID ASSIGN_UUID(4), //全局唯一的 uuid */ @JSONField(serializeUsing= ObjectWriterImplToString.class) @TableId(type = IdType.INPUT) public Long id; /** * 用户姓名 */ public String name; /** * 手机号,手机号用于登录系统 */ public String phone; /** * 密码,密码的MD5加密 */ public String password; /** * 供水机构标签 */ @TableField(value = "orgTag") public String orgTag; /** * 是否超级管理员 1:是,0:否 */ @TableField(value = "supperAdmin") public Byte supperAdmin; /** * 是否禁用 0:否,1:是 */ public Disabled disabled; /** * 是否删除: 0表示未删除 1表示删除. */ public Deleted deleted; /** * 用户所拥有的权限 */ @TableField(exist = false) public List privileges; //public transient List privileges;//此种方式变量不存库, 也不参与序列化了 }