【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文件中
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,转载文章之后须在文章页面明显位置给出作者和原文连接,谢谢。
分类:
Orm
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?