@TableLogic没有生效
时间: 2023-12-06 13:34:39 浏览: 68
根据提供的引用内容,可以看出问题出在手写SQL上。在手写SQL中,需要手动编写SQL语句,而不是使用MyBatis内置的方法。因此,需要手动指定SQL语句中的字段,包括@TableLogic注解所标注的逻辑删除字段。如果手写SQL中没有包含逻辑删除字段,那么@TableLogic注解就不会生效。因此,需要在手写SQL中明确指定逻辑删除字段,才能使@TableLogic注解生效。
相关问题
@TableLogic不生效
@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;
}
```
@JsonProperty没有生效
@JsonProperty注解在SpringBoot项目中反序列化时没有生效的原因可能是因为没有正确导入相关的包。在SpringBoot项目中,如果想要使用@JsonProperty注解,需要导入Jackson相关的包。另外,还需要确保正确使用了@JsonProperty注解,将属性的名称设置为希望序列化时显示的名称。例如,在User类中,如果想要将"id"字段序列化为"Id",需要使用@JsonProperty("Id")注解。另外,如果使用的是FastJson库,则需要使用@JsonField注解来实现类似的功能。请确保导入了正确的包,并正确使用了注解,即可解决@JsonProperty注解没有生效的问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [Springboot项目中@JsonProperty不生效-如何处理呢?](https://blog.csdn.net/qq_25073223/article/details/124943374)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [@JsonProperty 失效问题的排查](https://blog.csdn.net/qq_25073223/article/details/124614825)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]