Orm框架介绍

  1. AntOrm 是我维护的一个开源csharp -netcore 项目
  2. Ktorm 是一个大神开源的kotlin项目

由于我工作上都用到了,为了提高工作效率 我写了一个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机器上如何使用代码生成的更多相关文章

  1. 今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在Win中见过的/r回车符号。由于编辑软件的编码问题,某些IDE的编辑器在编辑完文件之后会自动加上这个^M符号。看起来对我们的源代码没有任何影响,其实并不然,当我们把源代码文件Check In到svn之类

    今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在W ...

  2. Coding theano under remote ubuntu server from local Mac (在本地mac机器上,写、跑、调试、看-远程ubuntu上的theano代码)

    本人是奇葩,最近鼓捣了一套在mac上coding远程ubuntu上的theano代码的东东,记之以期造福后人. Overview: 下图是我的编程环境和网络环境 我期望能在本地mac机器上对远程的ub ...

  3. 在Mac机器上给ITerm2配置lrzsz,便捷的传输文件到远程服务器上

    可直接参考文档:http://danqingdani.blog.163.com/blog/static/18609419520141201215750 需要使用到的github脚本:https://g ...

  4. ios 联网 在mac机器上进行抓包

    Remote Virtual Interface在使用Mac抓取iPhone数据包中介绍了两种方式在Mac电脑上抓取iPhone上的数据包,一是使用Mac的网络共享功能将Mac的网络通过WiFi共享给 ...

  5. ORM框架三种映射在Springboot上的使用

    ORM(对象/关系映射)是数据库层非常重要的一部分,有三种常用的映射关系 1.多对一 tbl_clazz clazz{ id name description grade_id charge_id } ...

  6. Spring Boot (三): ORM 框架 JPA 与连接池 Hikari

    前面两篇文章我们介绍了如何快速创建一个 Spring Boot 工程<Spring Boot(一):快速开始>和在 Spring Boot 中如何使用模版引擎 Thymeleaf 渲染一个 ...

  7. ORM框架示例及查询测试,上首页修改版(11种框架)

    继上次ORM之殇,我们需要什么样的ORM框架? 整理了11个ORM框架测试示例,通过示例代码和结果,能很容易了解各种框架的特性,优缺点,排名不分先后 EF PDF XCODE CRL NHiberna ...

  8. 查看Mac OSX机器上存在的所有Device

    可以使用instruments -s来查看Mac OSX机器上存在的所有Device,包括模拟器创建的Device以及真实连接的iPad,iPhone等设备.

  9. 002-docker安装-mac上安装docker,17.06在CentOS7 64位机器上安装

    一.mac上安装docker 1.下载 通过这个链接下载:https://download.docker.com/mac/stable/Docker.dmg 2.安装 将 Moby 的鲸鱼图标拖拽到  ...

随机推荐

  1. 从游击队到正规军(二):马蜂窝旅游网的IM客户端架构演进和实践总结

    一.引言 移动互联网技术改变了旅游的世界,这个领域过去沉重的信息分销成本被大大降低.用户与服务供应商之间.用户与用户之间的沟通路径逐渐打通,沟通的场景也在不断扩展.这促使所有的移动应用开发者都要从用户 ...

  2. IT兄弟连 HTML5教程 HTML5技术的应用现状及HTML5平台的兴起

    HTML5的优良特性很快被各种类型的网站利用,比如文件拖拽到网页上传功能,多数即使用HTML5提供的新属性就可以完成,来实现素材的免插件拖放.因此,HTML5技术实际上在国内已经获得了较广泛的应用与支 ...

  3. [算法]LeetCode 152:乘积最大子序列

    题目描述: 给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数). 示例 1: 输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6.示 ...

  4. 【Ajax】Ajax入门总结

    目录 Ajax( Asynchronous JavaScript and XML ) 向服务器发送请求 服务器回应请求 本文内容总结自 w3cschool: https://www.w3school. ...

  5. oracle学习笔记(二十三)——JDBC调用存储过程以及批量操作

    jdbc调用存储过程 使用并获得out模式的参数返回值 //存储过程为sum_sal(deptno department.deptno%type,sum in out number) Callable ...

  6. element-admin中echarts图标宽度无法修改

    默认示例 <template> <div> <el-row :gutter="0"> <el-col :xs="24" ...

  7. python登陆代码简单逻辑

    孩子:妈妈,我想要一个登陆的接口 妈妈:写,现在写,写1个够吗? 孩子:够了,妈妈真好,谢谢妈妈. 需求写一个简单的登陆逻辑: 1.定义一个账号和密码 2.输入账号和密码,密码要求密文 3.输入正确提 ...

  8. 读取树莓派4B处理器(CPU)的实时温度

    读取树莓派4B处理器(CPU)的实时温度 树莓派发布4B后,性能提升了不少,但是温度也是高的不行,所以最好配置一个小风扇和散热片还是比较好的 俩种办法都可以实现 1.Shell命令读取 打开终端 cd ...

  9. 最好用的koa2+mysql的RESTful API脚手架,mvc架构,支持node调试,pm2部署。

     #基于webpack构建的 Koa2 restful API 服务器脚手架    这是一个基于 Koa2 的轻量级 RESTful API Server 脚手架,支持 ES6, 支持使用TypeSc ...

  10. RiscV汇编介绍(1)-编译过程

    从c/c++源文件,到可以执行文件,需要以下几个步骤: 预处理/编译 汇编 链接 下面我们以hello world程序为例,展示整个编译链接过程. 1. 编写hello.c代码 #include &l ...