因爲數據庫表的字段名通常是用下劃線命名法,但前端通常傳的是駝峯命名法的字符串,我要將其轉化爲下劃線命名法的字符串去數據庫表中進行查詢。
例:
select * from use where user_name=.....這時就要把userName轉爲user_name。
我們可以使用Google guava的Guava CaseFormat類進行轉換。
com.google.common.base.CaseFormat是一種實用工具類,以提供不同的ASCII字符格式之間的轉換。
枚舉常量
S.N. | 枚舉常量和說明 |
---|---|
1 | LOWER_CAMEL Java變量的命名規則,如“lowerCamel”。 |
2 | LOWER_HYPHEN 連字符連接變量的命名規則,如“lower-hyphen”。 |
3 | LOWER_UNDERSCORE C ++變量命名規則,如“lower_underscore”。 |
4 | UPPER_CAMEL Java和C++類的命名規則,如“UpperCamel”。 |
5 | UPPER_UNDERSCORE Java和C++常量的命名規則,如“UPPER_UNDERSCORE”。 |
方法
S.N. | 方法及說明 |
---|---|
1 | Converter<String,String> converterTo(CaseFormat targetFormat 返回一個轉換,從這個格式轉換targetFormat字符串。 |
2 | String to(CaseFormat format, String str) 從這一格式指定格式的指定字符串 str 轉換。 |
3 | static CaseFormat valueOf(String name) 返回此類型具有指定名稱的枚舉常量。 |
4 | static CaseFormat[] values() 返回一個包含該枚舉類型的常量數組中的順序被聲明。 |
繼承的方法
這個類繼承了以下類方法:
- java.lang.Enum
- java.lang.Object
CaseFormat 示例
GuavaTester.java
System.out.println(CaseFormat.LOWER_HYPHEN.to(CaseFormat.LOWER_CAMEL, "user-3name"));
System.out.println(CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, "user_name"));
System.out.println(CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, "user_name"));
System.out.println(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, "username"));
System.out.println(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, "UserName"));
System.out.println(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_HYPHEN, "userName"));
結果爲:
user3name
userName
UserName
username
user_name
user-name