天天看點

Java如何實作資料庫中表字段的下劃線和駝峰式命名的Model互相轉換,很友善的...

Java如何實作資料庫中表字段的下劃線和駝峰式命名的Model互相轉換,很友善的...

其實通過逆向工程,然後去配置一些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中

Java如何實作資料庫中表字段的下劃線和駝峰式命名的Model互相轉換,很友善的...

啟動多行編輯,IDEA中同時按住,Ctrl Shift Alt 操作滑鼠上下拉,即可多行編輯,同時左邊加上雙引号,Ctrl一下,同時跳到右邊,再加上雙引号,加上逗号,就好了

Java如何實作資料庫中表字段的下劃線和駝峰式命名的Model互相轉換,很友善的...

二、代碼示例,基于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      

第三種,IDEA快捷鍵,更友善