这里,字段名为什么没有自动转换成下划线呢,
这里是mybatis_plus不会自动转换呢,还是我配置错了?
如果这种情况不会自动转换,那么自动转换使用在什么情况下呢?
这里,字段名为什么没有自动转换成下划线呢,
这里是mybatis_plus不会自动转换呢,还是我配置错了?
如果这种情况不会自动转换,那么自动转换使用在什么情况下呢?
在 MyBatis Plus 中,字段名的自动转换通常用于处理数据库字段命名和 Java 对象属性命名之间的差异。默认情况下,MyBatis Plus 会尝试将 Java 对象的驼峰命名方式转换为数据库中的下划线命名方式,反之亦然。但是,这种自动转换并不是在所有情况下都会发生,它依赖于一些配置和条件。
首先,请确保你的 MyBatis Plus 版本支持字段名的自动转换功能。较旧的版本可能不支持这一特性。
其次,检查你的 MyBatis Plus 配置。在 MyBatis Plus 的配置类(通常是一个带有 @Configuration
注解的类)中,确保你启用了自动转换功能。这通常是通过设置 GlobalConfig
的 dbColumnUnderlineStrategy
属性来实现的。例如:
@Configuration
public class MybatisPlusConfig {
@Bean
public GlobalConfig globalConfig() {
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setDbColumnUnderlineStrategy(DbColumnUnderlineStrategy.ALWAYS);
return globalConfig;
}
}
在这个例子中,DbColumnUnderlineStrategy.ALWAYS
表示无论数据库字段名是什么风格,都会进行自动转换。你也可以选择其他策略,比如 DbColumnUnderlineStrategy.NON_UNDERLINE_TO_UNDERLINE
,这表示只有当数据库字段名不是下划线风格时才会进行转换。
如果你已经正确配置了 MyBatis Plus,但字段名仍然没有被自动转换,那么可能是因为以下原因:
@TableField
注解来显式指定数据库字段名和 Java 属性名之间的映射关系。至于你提到的图片,由于我无法直接查看它们,我无法给出针对那些图片的具体解答。如果图片中包含了代码片段或错误信息,请将它们以文本形式提供给我,这样我才能帮助你解决问题。
总之,要确保 MyBatis Plus 的字段名自动转换功能正常工作,你需要检查你的 MyBatis Plus 版本、配置以及可能的自定义 SQL 语句或映射关系。如果问题仍然存在,请提供更多信息以便我能提供更准确的帮助。
3 回答2.6k 阅读✓ 已解决
6 回答3.4k 阅读✓ 已解决
3 回答4.1k 阅读✓ 已解决
8 回答3.6k 阅读
4 回答2.8k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
自动转换发生在pojo,即java类和数据库字段之间。
请尝试使用LambdaQuery