码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • @TableLogic注解说明,以及对增删改查的影响


    今天遇到一个问题:使用mybatis的时候,更新删除字段无效,我的写法是:

    user.setIsDelete(1);

    userService.updateById(user);

    这样操作之后,发现数据库并没有更新删除字段!!!

     经过查找,才发现是因为@TableLogic这个注解的原因,下边详细介绍一下这个注解。

    @TableLogic注解是逻辑删除,并不会物理删除数据

    效果:在字段上加上这个注解再执行BaseMapper的删除方法时,删除方法会变成修改

    @TableLogic(value=“原值”,delval=“修改值”)
    注解参数:
        value = “” 未删除的值,默认值为0
        delval = “” 删除后的值,默认值为1
        
    使用方法:
    1.在实体类属性上加@TableLogic(value=“0”,delval=“1”)

    1.     @TableLogic(value="0",delval="1")
    2.     private String isdelete;

    2.删:调用BaseMapper的deleteById(id)或者调用IService的removeById(id),走Update方法

    效果:
        没有@TableLogic注解调用deleteById/removeById,直接删除数据。
            SQL:delete from xxxtable where id = 1
        有注解走Update方法
            SQL:Update xxxtable  set  is_delete = 1 where id = 1  

    3.改:使用了@TableLogic注解,调用update方法,是不会将该字段放入修改字段中,而是默认添加在where条件字段中。即使你给dataStatus赋值也不能修改字段。
        SQL: Update xxxtable  set 字段1 = 值1,字段2 = 值2 where id = 1 and is_delete = 0

    4.查:使用了@TableLogic注解,使用queryWapper等查询时,没有筛选是否删除的条件,但是sql还是自动加上了条件:SELECT * from xxxtable  where is_delete =0

  • 相关阅读:
    装饰器模式——设计模式
    【ROS进阶篇】第六讲 ROS中的录制与回放(rosbag)
    [巅峰极客 2022]smallcontainer
    Flume学习笔记:03-自定义拦截器
    记一次 .NET 某电厂Web系统 内存泄漏分析
    C++ 构造函数,拷贝构造
    自动驾驶中的坐标系变换
    Unixbench——2D图形性能测试方法及工具下载
    python就是学不会怎么办?
    【go-zero】 Goland中的terminal与电脑terminal goctl版本 始终不一致问题
  • 原文地址:https://blog.csdn.net/zlfjavahome/article/details/134477866
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号