当前使用版本(必须填写清楚,否则不予处理)
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(); }