【Idea外掛】kotlin的orm框架一鍵生成程式碼外掛更新
阿新 • • 發佈:2020-12-20
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檔案中