【Idea插件】kotlin的orm框架一鍵生成程式碼插件更新
ktorm框架程式碼生成器是我開發的一款根據db的schema生成程式碼的idea插件,目的是更方便的使用ktorm框架
本插件github地址://github.com/yuzd/ktormgen
程式碼生成器支援的資料庫有
- Mysql
- Sqlserver
官方下載地址://plugins.jetbrains.com/plugin/14033
如果插件在jetbrains下載失敗可以試試從百度網盤 插件下載地址:
鏈接://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框架的文檔 //www.ktorm.org/en/entities-and-column-binding.html
本插件只是為了生成db的models程式碼和操作擴展方法在Tables.kt文件中