1. 程式人生 > 實用技巧 >【Idea外掛】kotlin的orm框架一鍵生成程式碼外掛更新

【Idea外掛】kotlin的orm框架一鍵生成程式碼外掛更新

ktorm框架程式碼生成器是我開發的一款根據db的schema生成程式碼的idea外掛,目的是更方便的使用ktorm框架

本外掛github地址:https://github.com/yuzd/ktormgen

程式碼生成器支援的資料庫有

  • Mysql
  • Sqlserver

官方下載地址:https://plugins.jetbrains.com/plugin/14033

如果外掛在jetbrains下載失敗可以試試從百度網盤 外掛下載地址:

連結:https://pan.baidu.com/s/1XQ8MMuglz1gU_x4Hjnn0wg 提取碼:r861

以下是手動下載外掛後手動安裝外掛教程

開啟idea->File->Settings...

選擇 plugins 本地選擇下載的zip檔案

重啟idea即可

重要

如何使用外掛生成ktorm的dbmodes程式碼

開啟專案 在專案的 resources下面新建一個 json格式的檔案,名稱自己隨便命名,但是一定得是.json字尾的檔案

如下圖

Ktorm的Json內容模板:

{
  "Type": "Mysql",
  "OutPutFolder": "../java/dal",
  "IsKotlin": true,
  "NamespaceName": "DbModel",
  "ConnectionString": "Server=localhost;Port=53306;Database=antmgr;Uid=root;Pwd=123456;charset=utf8;SslMode=none"
, "TableFilter": [] }

Ktorm生成的Json欄位說明

欄位說明
Type 支援 mysql 和 sqlserver (sqlserver的話支援在後面指定版本號:sqlserver2000, sqlserver2005,sqlserver2008,sqlserver2012,sqlserver2017,如果不指定的話 sqlserver = sqlserver2008)
OutPutFolder 生成的程式碼儲存在本機的哪個資料夾(可以使用絕對路徑和相對路徑) 相對路徑是相對於你選擇的json檔案 例如(../java)
IsKotlin 需要設定為true
KtormVersionNew 如果用的是新版本的ktorm的話需要設定為true(因為ktorm更改了namespace)
NamespaceName 指定 package 名稱
ConnectionString db連線字串
TableFilter 表名稱的string陣列,如果指定了只會生成特定的表的程式碼

測試演示

生成的程式碼結構

1.dbmodels

是db裡面的表,一張表對應這個目錄下的一個kotlin檔案

2.dao是表的欄位型別對映定義

一個model對應一個dao

3.Tables

dataBase的擴充套件方法,只需要拿到database 就可以拿到表物件進行db操作。 可以參考下面的程式碼。


val database = Database.connect("jdbc:mysql://localhost:3306/antmgr?user=root&password=123456")


//新增
database.systemMenus.insert {
    set(it.Name, "test")
    set(it.IsActive,false)
}

//查詢
val systemMenu = database.systemMenus.filter { (it.IsActive) and (it.Name eq "test") }.firstOrNull()
println(systemMenu)
//修改 database.systemMenus.upgrade { set(it.IsActive,true) where { it.Name eq "test" } } //刪除 database.systemMenus.delete { it.Name eq "test" }

更多詳細和複雜用法可以參考ktorm框架的文件 https://www.ktorm.org/en/entities-and-column-binding.html

本外掛只是為了生成db的models程式碼和操作擴充套件方法在Tables.kt檔案中