当前使用版本(必须填写清楚,否则不予处理)

3.0-RC

该问题是怎么引起的?

重现步骤

一开始在.yml文件中配置参数如下: mybatis-plus: global-config: #逻辑删除配置 logic-delete-value: 1 logic-not-delete-value: 0 sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector 后根据提示将sql-injecto从配置中删除改为Bean注入: @Bean public GlobalConfig globalConfiguration() { GlobalConfig conf = new GlobalConfig(); conf.setSqlInjector(new LogicSqlInjector()); return conf; } 且已在相应实体增加@TableLogic注解: /* * 状态:0生效,1冻结 / @TableLogic private Integer status;

报错信息

调用removeById()方法后数据从数据库中物理删除,并没有逻辑删除,并且select方法也没有自动拼接未删除条件。

Comment From: duoaipan

同遇到这个问题

Comment From: miemieYaho

使用最新版 rc3 试试

Comment From: xingrongxuan

使用了rc3仍旧未生效

Comment From: Wadeqin

解决没?同问

Comment From: qmdx

@xingrongxuan @Wadeqin http://mp.baomidou.com/guide/logic-delete.html

Comment From: youcailize

试了网上各种方法,都不好使。最后在MybatisPlusConfig中mybatisSqlSessionFactoryBean里,添加上 GlobalConfig globalConfig = new GlobalConfig(); globalConfig.setSqlInjector(new LogicSqlInjector()); mybatisSqlSessionFactoryBean.setGlobalConfig(globalConfig); 终于好使了- -我的版本是3.0.7.1 估计不好使就是注入的有问题,尝试用各种方式去注入吧- -不同版本的mp,LogicSqlInjector所在的包名也不一样,写在配置文件中时,还需要注意包名是否正确。

Comment From: wsno1only

可以试试@TableLogic(delval="1",value = "0")

Comment From: thopo123

配置类里边添加 @Bean public ISqlInjector sqlInjector() { return new LogicSqlInjector(); }