其實通過逆向工程,然後去配置一些config,就可以實作,從Table到Model的互相轉換,而且,對于下劃線命名的Table字段,實作駝峰式命名的Model ,有時候我們隻是做個測試,或者自己基于資料的表,想快速建立Model,怎麼實作呢!!
三種方式
- 第一種 IDEA + 可多行編輯的文本編輯器
- 第二種 簡單的編輯器(除了windows自帶的),正則替換
- 第三種 IDEA插件
一、準備工作,好點的編輯器,支援多行編輯的,IDEA就可以,還有UE,Hbuilder等
1.1 先查出某張表的所有字段,copy 一下,這是下劃線命名的
user_id
brief
create_time
district
email
enable
facebook_id
favourite
is_lock_time
last_login_time
nickname
pass_word
phone
photo
twitter_id
wechat_id
nick_review
photo_review
instagram_id
device
type
customer_id
複制到IDEA中,放到List中
啟動多行編輯,IDEA中同時按住,Ctrl Shift Alt 操作滑鼠上下拉,即可多行編輯,同時左邊加上雙引号,Ctrl一下,同時跳到右邊,再加上雙引号,加上逗号,就好了
二、代碼示例,基于Hutool實作
@Test
public void camelTest11() {
ArrayList<String> list = Lists.newArrayList("user_id",
"brief",
"create_time",
"district",
"email",
"enable",
"facebook_id",
"favourite",
"is_lock_time",
"last_login_time",
"nickname",
"pass_word",
"phone",
"photo",
"twitter_id",
"wechat_id",
"nick_review",
"photo_review",
"instagram_id",
"device",
"type",
"customer_id");
List<String> collect = list.stream().map(e -> StrUtil.toCamelCase(e)).collect(Collectors.toList());
System.out.println(collect);
}
輸出
userId
brief
createTime
district
email
enable
facebookId
favourite
isLockTime
lastLoginTime
nickname
passWord
phone
photo
twitterId
wechatId
nickReview
photoReview
instagramId
device
type
customerId
然後再接着,複制到model中,多行編輯,就會很快完成,整個過程兩分鐘之内就可以完成。
第二種,一種更簡單的操作方式,使用正則替換
下劃線轉駝峰式
[_]{1,1}([a-z] replace \U$1
replace(使用regix),這裡不知道為什麼隻能一個個replace替換,不能Replace ALl操作
駝峰式轉下劃線
([A-Z]) replace \_\L$1