一旦在逻辑字段上加了@TableLogic逻辑删除的配置,并且使用mybatis-plus自带的方法时(如果自己用xml写SQL不会出现下面的情况)
查询、修改时会自动排除逻辑删除的数据
当使用mybatis-plus自带的查询方法时,就不用每次查询的时候跟 .eq(“deleted”,false) 了
mybatis-plus 会自动加上过滤条件 is_deleted = 0,我亲自测了一下
User的逻辑删除字段:
接口详情:
数据库:
SQL打印日志:
LambdaQueryWrapper并没有加 is_deleted=0,但是查看日志后发现mybatis-plus自动为我们加上了 。查出来的也为空。
即便在LambdaQueryWrapper后面追加条件is_deleted=1 也查询不到逻辑删除的数据,因为mybatis-plus还是会加上is_deleted=0的条件
SQL打印日志:
如果要查询逻辑删除的数据,必须自己写SQL,不能用mybatis-plus自带的方法!
删除时会自动修改逻辑字段值而非删除记录行
数据库:
接口详情:
SQL打印日志: