zoukankan      html  css  js  c++  java
  • 【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...

    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框架的文档 https://www.ktorm.org/en/entities-and-column-binding.html

    本插件只是为了生成db的models代码和操作扩展方法在Tables.kt文件中

    image

  • 相关阅读:
    eclipse 直接向cloudfoundry部署应用
    jenkins slave节点服务 之 标签
    cloud foundry 中 url map/unmap
    公司Oracle生产库某用户中毒【AfterConnect.sql】
    怎样在 Linux 上查看某个端口的相关信息?
    怎样修改 VS Code 主题?
    怎样安装并编译TypeScript?
    怎样坚持写博客?
    第一个shell脚本
    python处理excel之读:xlrd模块
  • 原文地址:https://www.cnblogs.com/yudongdong/p/14165437.html
Copyright © 2011-2022 走看看