@TableLogic不生效
时间: 2023-12-06 10:34:39 浏览: 235
@TableLogic注解是Mybatis-Plus框架提供的逻辑删除注解,用于标记一个字段为逻辑删除字段。如果在使用Mybatis-Plus框架时,@TableLogic注解不生效,可能是以下几个原因导致的:
1.实体类没有继承Model类,或者没有使用@TableLogic注解标记逻辑删除字段。
2.在手写SQL中,没有使用正确的别名或者没有在SQL中正确引用逻辑删除字段。
3.在使用Mybatis-Plus框架时,没有正确配置逻辑删除的全局属性。
解决方案:
1.确保实体类继承Model类,并且在需要逻辑删除的字段上使用@TableLogic注解。
2.在手写SQL中,正确使用别名并且在SQL中正确引用逻辑删除字段。
3.在使用Mybatis-Plus框架时,正确配置逻辑删除的全局属性,例如:
```java
@Bean
public GlobalConfig globalConfig() {
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setLogicDeleteValue("1");
globalConfig.setLogicNotDeleteValue("0");
return globalConfig;
}
```
相关问题
@TableLogic没有生效
根据提供的引用内容,可以看出问题出在手写SQL上。在手写SQL中,需要手动编写SQL语句,而不是使用MyBatis内置的方法。因此,需要手动指定SQL语句中的字段,包括@TableLogic注解所标注的逻辑删除字段。如果手写SQL中没有包含逻辑删除字段,那么@TableLogic注解就不会生效。因此,需要在手写SQL中明确指定逻辑删除字段,才能使@TableLogic注解生效。
mybatisplus update 修改del_flag不生效
出现这种情况的原因可能是以下几种:
1. 检查数据库表结构是否有 del_flag 字段,且字段类型为 int 类型。
2. 检查实体类中是否有 delFlag 属性,并且使用了 @TableLogic 注解。
3. 检查 SQL 语句是否正确,如 UPDATE 语句中是否有 SET del_flag = 1 的语句。
4. 检查 Mybatis-Plus 配置是否正确,如是否开启了逻辑删除功能。
如果以上排查方法都没有解决问题,可以尝试重启应用程序或者重新编译代码。如果还是无法解决,可以考虑查看日志文件,查找出现异常的原因,或者咨询 Mybatis-Plus 的官方技术支持。
阅读全文