传入Mapper的字段未转下划线
时间: 2023-12-04 07:53:10 浏览: 69
如果传入Mapper的字段未转下划线,可能会导致无法正确映射到数据库中的字段,从而出现查询失败或者数据异常等问题。因此,在传入Mapper的字段中,需要将驼峰命名法转换成下划线命名法,以便于正确地映射到数据库中的字段。
可以使用Java中的转换工具类来实现驼峰命名法和下划线命名法之间的转换,例如:
```java
import org.apache.commons.lang3.StringUtils;
public class StringUtil {
public static String camel2Underline(String camel) {
if (StringUtils.isBlank(camel)) {
return camel;
}
StringBuilder sb = new StringBuilder();
for (int i = 0; i < camel.length(); i++) {
char c = camel.charAt(i);
if (i > 0 && Character.isUpperCase(c)) {
sb.append("_");
}
sb.append(Character.toLowerCase(c));
}
return sb.toString();
}
public static String underline2Camel(String underline) {
if (StringUtils.isBlank(underline)) {
return underline;
}
StringBuilder sb = new StringBuilder();
boolean upperCase = false;
for (int i = 0; i < underline.length(); i++) {
char c = underline.charAt(i);
if (c == '_') {
upperCase = true;
} else if (upperCase) {
sb.append(Character.toUpperCase(c));
upperCase = false;
} else {
sb.append(c);
}
}
return sb.toString();
}
}
```
使用方法如下:
```java
String fieldName = "userName";
String dbFieldName = StringUtil.camel2Underline(fieldName); // 将驼峰命名法转换为下划线命名法
```
这样就可以将驼峰命名法转换成下划线命名法,从而解决传入Mapper的字段未转下划线的问题。
阅读全文