这是因为mybatis默认开启驼峰命名法,按规则数据表中的lastName字段应对应实体类中的last_name属性,而实体类中的lastName属性应对应数据表中的last_name字段。
在application.yml中,关闭驼峰转换,可能会出现问题,影响以前的实体查不到内容
yml
mybatis-plus.configuration.map-underscore-to-camel-case=false
局部解决,写个将驼峰转回下划线命名方式的接口,优点不影响全局配置
java
public String camelToUnderline(String camelCase) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < camelCase.length(); i++) {
char c = camelCase.charAt(i);
if (Character.isUpperCase(c)) {
if (i != 0) {
sb.append("_");
}
sb.append(Character.toLowerCase(c));
} else {
sb.append(c);
}
}
if (sb.charAt(sb.length() - 1) == '_') {
sb.deleteCharAt(sb.length() - 1);
}
return sb.toString().toUpperCase();
}
本文作者:Weee
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!