12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- package org.ssssssss.magicapi.provider.impl;
- import org.ssssssss.magicapi.provider.ColumnMapperProvider;
- /**
- * 驼峰命名转换
- */
- public class CamelColumnMapperProvider implements ColumnMapperProvider {
- @Override
- public String name() {
- return "camel";
- }
- @Override
- public String mapping(String columnName) {
- if (columnName == null || !columnName.contains("_")) {
- return columnName;
- }
- columnName = columnName.toLowerCase();
- boolean upperCase = false;
- StringBuilder sb = new StringBuilder();
- for (int i = 0; i < columnName.length(); i++) {
- char ch = columnName.charAt(i);
- if (ch == '_') {
- upperCase = true;
- } else if (upperCase) {
- sb.append(Character.toUpperCase(ch));
- upperCase = false;
- } else {
- sb.append(ch);
- }
- }
- return sb.toString();
- }
- @Override
- public String unmapping(String name) {
- StringBuilder sb = new StringBuilder();
- for (int i = 0; i < name.length(); i++) {
- char ch = name.charAt(i);
- if (Character.isUpperCase(ch)) {
- sb.append("_");
- }
- sb.append(Character.toLowerCase(ch));
- }
- return sb.toString();
- }
- }
|