我想把mybatis升级mybatisplus+mybatisx,但是有问题,后期恢复mybatis后,数据库查询包含下划线字段的时候值是null,请问这个怎么解决
时间: 2023-07-28 20:52:22 浏览: 91
ojdbc6(此包解决mybatis_plus查询时分秒为0问题).7z
如果您在升级 MyBatis 到 MyBatis Plus 和 MyBatisX 后发现数据库查询包含下划线字段的值为 null,则可能是因为 MyBatis Plus 和 MyBatisX 对下划线的处理方式与 MyBatis 不同。
在 MyBatis 中,如果您在实体类中使用了下划线字段,MyBatis 会将其转换为驼峰命名规则,并将其映射到数据库中的下划线字段。但是,MyBatis Plus 和 MyBatisX 默认情况下不会进行这种转换。
要解决此问题,您可以在 MyBatis Plus 和 MyBatisX 中使用以下两种方法之一:
1. 使用注解 @TableField(value = "数据库中的下划线字段名") 标注实体类中的下划线字段,以便正确地映射到数据库中的下划线字段。
2. 在 MyBatis Plus 和 MyBatisX 的全局配置文件中配置下划线到驼峰的转换规则。例如,在 MyBatis Plus 中,您可以在 application.yml 或 application.properties 文件中添加以下配置:
```yaml
mybatis-plus:
global-config:
db-config:
column-underline: true
```
这将启用 MyBatis Plus 将下划线字段转换为驼峰命名规则的功能,确保正确地映射到实体类中的下划线字段。
无论哪种方法,都需要将实体类的下划线字段与数据库中的下划线字段正确地映射起来,以确保查询结果正确。
阅读全文