• mybatis-plus使用总结


    1.默认使用驼峰转换,如果实体类名称或者字段是驼峰格式,转化成的对应数据库表名或者字段就是下划线分割的,如isDelete 对应的就是is_delete

    2.如果表名与实体类名称不对应则实体类用@TableName(“t_user”)映射表名,@TableField可解决字段与数据库表字段不对应的问题;

    3.关闭驼峰可在配置文件中配置

    mybatis-plus:
      configuration:
        map-underscore-to-camel-case: false

    注意mybatis-plus与spring并列级别

    4.可在配置文件中配置表前缀

    mybatis-plus:
      global-config:
        db-config:

    5.查看控制台sql日志输出:

    mybatis-plus:

        configuration:

             log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

    6. insertFill拦截保存时的数据,不过需要在实体类中createdTime,updatedTime上加上下面注解

    @TableField(fill = FieldFill.INSERT)

    updateFill拦截更新数据,不过需要在实体类中updatedTime加上下面注解

    @TableField(fill = FieldFill.INSERT_UPDATE)

    @Component
    public class MyMetaObjectHandler implements MetaObjectHandler {
        @Override
        public void insertFill(MetaObject metaObject) {
            this.setFieldValByName("createdTime", LocalDateTime.now(), metaObject);
            this.setFieldValByName("updatedTime", LocalDateTime.now(), metaObject);
        }
    
        @Override
        public void updateFill(MetaObject metaObject) {
            this.setFieldValByName("updateTime", LocalDateTime.now(), metaObject);
        }
    
    }

    7.实体类主键设置

    @TableId(value = "user_id",type = IdType.AUTO)  主键自增

    @TableId(type = IdType.ASSIGN_UUID)  自动生成不含中划线的 UUID 作为主键。主键类型为 String

    @TableId(type = IdType.ASSIGN_ID)  该策略会使用雪花算法自动生成主键 ID,主键类型为 Long 或 String

  • 相关阅读:
    Cocos Creator 3.x 原生 TS 交互
    fatedier/frp内网穿透详细安装及使用教程
    2019 java面试题基础
    2023-11-16 LeetCode每日一题(最长奇偶子数组)
    Leetcode刷题:删除排序数组中的重复项
    《白话强化学习与python》笔记——第六章深度学习(二)
    Linux安装vivado方法
    Android 视频播放
    【Golang | reflect】利用反射实现方法的调用
    算法(三)
  • 原文地址:https://blog.csdn.net/bingguang1993/article/details/126299217