【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…

image

選擇 plugins 本地選擇下載的zip文件

image

image

image

重啟idea即可

重要

如何使用插件生成ktorm的dbmodes程式碼

打開項目 在項目的 resources下面新建一個 json格式的文件,名稱自己隨便命名,但是一定得是.json後綴的文件

如下圖

image

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數組,如果指定了只會生成特定的表的程式碼

測試演示

image

生成的程式碼結構

image

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文件中

image

Tags: