zoukankan      html  css  js  c++  java
  • Mybatis plus 实体类常用注解

    这里简单记录常用的注解,详情需要去官网学习!!

    1、@TableName 用于定义表名

    2、@TableId 用于定义表的主键

    属性:

    value 用于定义主键字段名
    type 用于定义主键类型(主键策略 IdType)

    主键策略:

    IdType.AUTO          主键自增,系统分配,不需要手动输入,但需要设置 mysql auto_increment
    IdType.NONE          未设置主键
    IdType.INPUT         需要自己输入 主键值
    IdType.ASSIGN_ID     系统分配 ID,用于数值型数据(Long,对应 mysql 中 BIGINT 类型)
    IdType.ASSIGN_UUID   系统分配 UUID,用于字符串型数据(String,对应 mysql 中 varchar(32) 类型)

    3、@TableField 用于定义表的非主键字段

    属性:

    value 用于定义非主键字段名,用于别名匹配,假如java对象属性和数据库属性不一样
    ​
    exist 用于指明是否为数据表的字段, true 表示是,false 为不是,假如某个java属性在数据库没对应的字段则要标记为faslse

    fill 用于指定字段填充策略(FieldFill,用的不多)
      字段填充策略:一般用于填充 创建时间、修改时间等字段
      FieldFill.DEFAULT         默认不填充
      FieldFill.INSERT          插入时填充
      FieldFill.UPDATE          更新时填充
      FieldFill.INSERT_UPDATE   插入、更新时填充。

     注意,在使用 fill 字段填充策略时,需要实现处理才能生效,如下:

    /**
     * 将MybatisObjectHandler注入spring容器中,操作数据添加或者修改时,自动给
     * 指定字段添加数据
     */
    @Component
    public class MybatisObjectHandler implements MetaObjectHandler {
    
    // birthday 指定的字段名称,表示在insert场合可以操作该方法 @Override
    public void insertFill(MetaObject metaObject) { setFieldValByName("birthday", new Date(),metaObject); } @Override public void updateFill(MetaObject metaObject) { setFieldValByName("updateTime",new Date(),metaObject); } }

    4、案列

    @Data
    @TableName("Test3")
    public class Test3 {
    
        /**
         * IdType.AUTO  主键自增,不需要手动输入,但需要设置mysql auto_increment
         */
        @TableId(value = "id",type = IdType.AUTO)
        private Integer id;
    
        @TableField(value = "name")
        private String name;
    
        /**
         * 某个java属性在数据库没对应的字段则要标记为faslse,默认是true
         */
        @TableField(exist = false)
        private String address;
    
        /**
         * 插入时填充, 添加日期
         */
        @TableField(value = "birthday", fill = FieldFill.INSERT )
        private Date birthday;
    
    }
  • 相关阅读:
    大型网站应用中MySQL的架构演变史
    SRM 585 DIV2
    TC 配置插件
    Java中含有静态成员的的初始化顺序
    java 23种设计模式,一般情况下,常用的有哪些? 转载
    Java中的正则表达式
    C++ 中的关于输出的设置于
    C++实现可变参数列表
    Java中的组合与聚合
    pku 2284 That Nice Euler Circuit
  • 原文地址:https://www.cnblogs.com/M87-A/p/15349894.html
Copyright © 2011-2022 走看看