Orm框架(AntOrm,Ktorm)在mac机器上如何使用代码生成
Orm框架介绍
由于我工作上都用到了,为了提高工作效率 我写了一个mac端工具帮助快速生成Dbmodel代码
工具上传到百度网盘,下载地址
链接:https://pan.baidu.com/s/1Q64zoRjE3u66jJnzF8rhww
提取码:ljx2
这款工具我是用微软的xamarin.mac技术开发的,驻留在menubar上如下图所示
工具截图:
目前有2个tab。
Image是自动上传剪贴板的图片工具
Image是监听剪切板有没有复制图片,有的话自动把图片上传到服务器,并且生成一个 markdown的图片并且赋值到剪贴板,可以直接在写markdown的时候粘贴,是方便写markdwon插入截图小功能!

OrmGen是我今天给大家介绍的功能


支持的数据库有
- Mysql
- Sqlserver
使用方法很简单,在工具内填写json 点击 Gen 按钮即可

Ktorm的Json内容模板:
{
"Type": "Mysql",
"OutPutFolder": "/Users/yuzd/Downloads/ConsoleApp4/ConsoleApp4",
"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 | 生成的代码保存在本机的哪个文件夹(如果你使用idea插件的话可以使用相对路径) |
| IsKotlin | 需要设置为true |
| NamespaceName | 指定 package 名称 |
| ConnectionString | db连接字符串 |
| TableFilter | 表名称的string数组,如果指定了只会生成特定的表的代码 |
Ktorm生成的代码如下:




AntOrm的Json 内容模板:
{
"Type": "Mysql",
"OutFileName": "DbModels",
"OutPutFolder": "/Users/yuzd/Downloads/ConsoleApp4/ConsoleApp4",
"IsKotlin": false,
"NamespaceName": "DbModel",
"BaseEntityClass": "",
"DataContextName": "AntEntity",
"EntitySuffix": "",
"AssociationPrefix": "",
"AssociationAppendByFieldName": true,
"GenerateAssociations": true,
"ConnectionString": "Server=localhost;Port=53306;Database=antmgr;Uid=root;Pwd=123456;charset=utf8;SslMode=none",
"PerClassPerFile": false,
"TableFilter": [],
"SetFkList": [],
"UsingList": [],
"SetColumnTypeList": []
}
AntOrm生成的Json字段说明
| 字段 | 说明 |
|---|---|
| Type | 支持 mysql 和 sqlserver (sqlserver的话支持在后面指定版本号:sqlserver2000, sqlserver2005,sqlserver2008,sqlserver2012,sqlserver2017,如果不指定的话 sqlserver = sqlserver2008) |
| OutFileName | 若没有指定一个表生成一个class的话,最终会生成一个cs文件,这个字段就是指定cs文件的名称 |
| OutPutFolder | 生成的代码保存在本机的哪个文件夹(如果你使用idea插件的话可以使用相对路径) |
| IsKotlin | 需要设置为false |
| NamespaceName | 指定 NamespaceName 名称 |
| BaseEntityClass | 如果想要生成的dbmodel 的 class都继承一个特殊的父类可以用这个字段 |
| DataContextName | 指定聚合类的名称 为空的话默认使用db名称 |
| EntitySuffix | 如果想要生成的dbmodel的class名称都加一个特定的名称后缀可以使用 |
| AssociationPrefix | 指定外键字段的前缀 |
| AssociationAppendByFieldName | 指定外键字段名称生成规则要包含原字段和外键字段名称 |
| GenerateAssociations | 开启生成外键 |
| ConnectionString | db连接字符串 |
| PerClassPerFile | 是否开启一个表一个class |
| TableFilter | 表名称的string数组,如果指定了只会生成特定的表的代码 |
| SetFkList | 非物理的方式指定外键关系 格式: A表名称,A表字段,B表名称,B表字段,外键关系(OneToOne,OneToMany,ManyToOne) 例如 "good_category,GoodTid,goods,Tid,OneToOne" |
| UsingList | 指定using关系 |
| SetColumnTypeList | 指定某个字段为一个enum类型的时候用到,格式为 table.filedName=xxxxxx 例如:"person.Gender=GenderEnum" |
为了更加方便使用以上小工具我已经封装成了一个idea的插件:
https://plugins.jetbrains.com/plugin/14033
Orm框架(AntOrm,Ktorm)在mac机器上如何使用代码生成的更多相关文章
- 今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在Win中见过的/r回车符号。由于编辑软件的编码问题,某些IDE的编辑器在编辑完文件之后会自动加上这个^M符号。看起来对我们的源代码没有任何影响,其实并不然,当我们把源代码文件Check In到svn之类
今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在W ...
- Coding theano under remote ubuntu server from local Mac (在本地mac机器上,写、跑、调试、看-远程ubuntu上的theano代码)
本人是奇葩,最近鼓捣了一套在mac上coding远程ubuntu上的theano代码的东东,记之以期造福后人. Overview: 下图是我的编程环境和网络环境 我期望能在本地mac机器上对远程的ub ...
- 在Mac机器上给ITerm2配置lrzsz,便捷的传输文件到远程服务器上
可直接参考文档:http://danqingdani.blog.163.com/blog/static/18609419520141201215750 需要使用到的github脚本:https://g ...
- ios 联网 在mac机器上进行抓包
Remote Virtual Interface在使用Mac抓取iPhone数据包中介绍了两种方式在Mac电脑上抓取iPhone上的数据包,一是使用Mac的网络共享功能将Mac的网络通过WiFi共享给 ...
- ORM框架三种映射在Springboot上的使用
ORM(对象/关系映射)是数据库层非常重要的一部分,有三种常用的映射关系 1.多对一 tbl_clazz clazz{ id name description grade_id charge_id } ...
- Spring Boot (三): ORM 框架 JPA 与连接池 Hikari
前面两篇文章我们介绍了如何快速创建一个 Spring Boot 工程<Spring Boot(一):快速开始>和在 Spring Boot 中如何使用模版引擎 Thymeleaf 渲染一个 ...
- ORM框架示例及查询测试,上首页修改版(11种框架)
继上次ORM之殇,我们需要什么样的ORM框架? 整理了11个ORM框架测试示例,通过示例代码和结果,能很容易了解各种框架的特性,优缺点,排名不分先后 EF PDF XCODE CRL NHiberna ...
- 查看Mac OSX机器上存在的所有Device
可以使用instruments -s来查看Mac OSX机器上存在的所有Device,包括模拟器创建的Device以及真实连接的iPad,iPhone等设备.
- 002-docker安装-mac上安装docker,17.06在CentOS7 64位机器上安装
一.mac上安装docker 1.下载 通过这个链接下载:https://download.docker.com/mac/stable/Docker.dmg 2.安装 将 Moby 的鲸鱼图标拖拽到 ...
随机推荐
- 避免python二维列表append一维列表时浅拷贝问题
原始问题: 由于浅拷贝原因,使得当a列表变动时,b列表也发生变动 解决办法: 如上图所示,添加的时候添加新列即可,类似新建一个列表,使得与原有列表a不共用同一个内存
- Hbase内存磁盘大致关系
转自: https://blog.csdn.net/wuwenxiang91322/article/details/51595771 Hbase内存磁盘关系磁盘数 diskNum磁盘容量 diskCa ...
- win7和win10自带桌面便签哪里找
一些小伙伴习惯使用windows自带的便签功能,但win7和win10区别较大, 导致更新系统后不知道在哪里找,甚至以为没有该功能了, 其实不然,下面我总结了2种方法,希望能帮到有需要的人 win7( ...
- Nginx之前后端分离(入门)
几个月前,公司架构优化,首先就是前后端分离. 所谓前后端分离,就是在传统的前后端代码都在一个项目里的基础上,将前后端代码抽离,把前端代码从后端项目了分离出来,前后端开发人员各自在自己的项目里开发. 为 ...
- php使用inotify扩展监控文件或目录,如果发生改变,就执行指定命令
通过inotify扩展监控文件或目录的变化,如果发生变化,就执行命令. 可以应用于 swoole 中,如果文件发生变化,就执行 kill -USR1 进程PID 来实现热更新. <?php cl ...
- jvm 性能调优工具之 jstat
概述 Jstat是JDK自带的一个轻量级小工具.全称“Java Virtual Machine statistics monitoring tool”,它位于java的bin目录下,主要利用JVM内建 ...
- Libs - Blog签名
<div id="AllanboltSignature"> <p id="PSignature" style="padding-to ...
- python基础(18):初识模块、re模块
1. 认识模块 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1.使用python编写的代码(. ...
- 五个常用的CSS简写
1,margin/padding. (演示仅为margin,padding同理,需注意的是padding没有auto) 2.background. background: [background-co ...
- ProtoBuf格式详解
- 数据结构 通过前面的例子,可以看到PB的数据结构就是每项数据独立编码,包含一个表示数据类型 - Varint Varint是一种对数字进行编码的方法,将数字编码成不定长的二进制数据,数值越小,编码 ...