zoukankan      html  css  js  c++  java
  • mybatisplus逻辑删除deleted

    项目中数据库表设计原则用到了逻辑删除:数据本身没有被删除,只是将deleted字段设置为1

    mybatis-plus在逻辑删除方面的设置如下:

    mybatis-plus:
      configuration:
        log-impl: org.apache.ibatis.logging.stdout.StdOutImpl//sql打印
      global-config:
        db-config:
          logic-delete-field: deleted//逻辑删除
          logic-delete-value: 1
          logic-not-delete-value: 0

    在实体中,相关的设置如下:

     /**
         * 逻辑删除 1删除 0 未删除
         */
        @TableLogic
        private Integer deleted;

    测试过,全局配置和在实体中加入@TableLogic注解,可以二选一,因为在实体中加入太麻烦,所以建议全局配置,实体中可以不写注解,也可以达到逻辑删除的效果

    最后:关于deleted在数据库的存储问题,我一直存的类型是tinyint(1) ,这是对的,因为它的选值不是0就是1

    今天在用代码生成器的时候,发现生成的实体是Boolean类型的,查询资料后的结论是,tinyint(1)对应Boolean

    关键的问题是,我以为这个1是长度,其实不是,tinyint(1)理论上只能存储0和1(实测实际上也可以存其他值),要存其他值可以设置为tinyint(4)

    建议:以后将只存储一个数字的字段设置为tinyint(4), 包括逻辑删除,这样在用代码生成器时自动反射为Integer

    最后结论:

    1. 逻辑删除用mybatis-plus的全局配置即可

    2. 只存储一个数字的字段设置为tinyint(4), 包括逻辑删除deleted

  • 相关阅读:
    C#网页数据采集(三)HttpWebRequest
    C#获取局域网ip
    C#调用Mail发送QQ邮件
    C#操作Excel(NPOI)
    html文字两行后,就用省略号代替剩下的
    js的dom测试及实例代码
    js循环数组(总结)
    黑马vue---61、为什么vue组件的data要是一个函数
    黑马vue---59-60、组件中的data和methods
    黑马vue---31-32、vue过滤器实例
  • 原文地址:https://www.cnblogs.com/rachelgarden/p/15699058.html
Copyright © 2011-2022 走看看