Go语言根据数据表自动生成model以及controller代码
- 手写model的用法请参考: https://www.jianshu.com/p/f5784b8c00d0
这里仅说明自动生成model文件的过程
- bee generate appcode -tables="bg_api_log" -conn="root:root@tcp(127.0.0.1:3306)/beego_api" -level=3
该命令基于 127.0.0.1 服务器上的beego_api数据库中的bg_api_log表自动生成model、controller文件,以及覆盖路由。
如果之前有同名的model或者controller文件,会在执行的过程总询问你是否覆盖,
最后会询问是否覆盖路由,建议选择NO, 然后手动添加路由,否则会将以前的路由清空,只保留最新生成的路由。
在这里,我只想要model文件,于是可以设置参数 -level=1, // 1 = models; 2 = models,controllers; 3 = models,controllers,router
- 以下是关于 generate命令的其他用法
generate 命令
这个命令是用来自动化的生成代码的,包含了从数据库一键生成 model,还包含了 scaffold 的,通过这个命令,让大家开发代码不再慢
bee generate scaffold [scaffoldname] [-fields=""] [-driver=mysql] [-conn="root:@tcp(127.0.0.1:3306)/test"]
// 此处是一个批处理命令,生成model,controller、view、doc以及生成数据迁移文件,并进行数据迁移
// The generate scaffold command will do a number of things for you.
// -fields: a list of table fields. Format: field:type, ...
// -driver: [mysql | postgres | sqlite], the default is mysql
// -conn: the connection string used by the driver, the default is root:@tcp(127.0.0.1:3306)/test
例子: bee generate scaffold post -fields="title:string,body:text" -conn="root:root@tcp(127.0.0.1:3306)/beego_api"
例子中的命令会 根据-fields="title:string,body:text" 来创建model,controller、view、以及生成数据迁移文件,并进行数据迁移(即在数据库中生成对应的数据表)。以上操作都会询问yes或者no
bee generate model [modelname] [-fields=""] // 根据fields列表来生成model文件
// generate RESTful model based on fields
// -fields: a list of table fields. Format: field:type, ...
bee generate controller [controllerfile] // 生成controller文件(根据对应的model文件)
// generate RESTful controllers
bee generate view [viewpath] // 生成view文件,
// generate CRUD view in viewpath
bee generate migration [migrationfile] [-fields=""] // 生成数据迁移文件
// generate migration file for making database schema update
// -fields: a list of table fields. Format: field:type, ...
bee generate docs // 生成文档
// generate swagger doc file
bee generate test [routerfile] // 根据路由生成测试用例(没试过)
// generate testcase
bee generate appcode [-tables=""] [-driver=mysql] [-conn="root:@tcp(127.0.0.1:3306)/test"] [-level=3] // 这里就是文章介绍的,根据数据表生成model文件等
// generate appcode based on an existing database
// -tables: a list of table names separated by ',', default is empty, indicating all tables
// -driver: [mysql | postgres | sqlite], the default is mysql
// -conn: the connection string used by the driver.
// default for mysql: root:@tcp(127.0.0.1:3306)/test
// default for postgres: postgres://postgres:postgres@127.0.0.1:5432/postgres
// -level: [1 | 2 | 3], 1 = models; 2 = models,controllers; 3 = models,controllers,router
Go语言根据数据表自动生成model以及controller代码的更多相关文章
- MyBatis 逆向工程——根据数据表自动生成model、xml映射文件、mapper接口
MyBatis Generator(MBG)的使用 MBG可以根据数据表生成对应的model.xml映射文件.mapper接口,只是简单的生成,还需要根据需求修改. 1.下载jar包 https:// ...
- 基于querybuilder的可根据现有数据表自动生成Restful API的dotnet中间件
AutoApi 基于SqlKata Query Builder的可根据数据表自动生成Restful API的dotnet中间件 项目地址 Github Gitee 支持的数据库 MySql AutoA ...
- 根据数据表自动生成javaBean
package fanshe; import java.io.File; import java.io.FileWriter; import java.io.IOException; import j ...
- 数据表自动生成java代码
MyBatis生成代码需要用到mybatis-generator-core-1.3.2.jar.数据库连接驱动包和一个xml文件,xml文件一般命令为:generator.xml. Xml内容格式如下 ...
- mybits根据表自动生成 java类和mapper 文件
mybits根据表自动生成 java类和mapper 文件 我这个脑子啊,每次创建新的工程都会忘记是怎么集成mybits怎么生成mapper文件的,so today , I can't write t ...
- Idea根据表自动生成实体
Idea根据表自动生成实体: 首先说下这种方式有个缺点,就是如果表里面有日期.时间类型,那么需要手动的设置映射类型 第一步:在Idea中配置好数据库: 在Idea窗口右边,点击Database按钮 配 ...
- mybatis 逆向工程(通过数据库表针对单表自动生成mybatis执行所需要的代码)
mybatis需要程序员自己编写sql语句,mybatis官方提供逆向工程,可以针对单表自动生成mybatis执行所需要的代码(mapper.java.mapper.xml.pojo…),可以让程序员 ...
- mysql数据表自动导为python sqlalchemy可操作对象
1.pip install sqlacodegen pip install pymysql 在/usr/lib/python/site-packages/sqlacodegen/main.py中添 ...
- 第二篇 Springboot mybatis generate根据数据库表自动生成实体类、Mapper和Mapper.xml
源码链接:https://pan.baidu.com/s/1iP4UguBufHbcIEv4Ux4wDw 提取码:j6z9 目录结构如下:只需增加一个generatorConfig.xml文件和在po ...
随机推荐
- Linux命令之iptables
从CentOS7开始,系统自带的防火墙更改为firewalld,但同样支持iptables,不过只有iptables命令,如果想要使用iptables服务需要自行安装iptables-server. ...
- java nio 缓冲区读写数据(图形详解)
Position 您可以回想一下,缓冲区实际上就是美化了的数组.在从通道读取时,您将所读取的数据放到底层的数组中. position 变量跟踪已经写了多少数据.更准确地说,它指定了下一个字节将放到数组 ...
- Python字符串逐字符或逐词反转方法
Python字符串逐字符或逐词反转方法 这篇文章主要介绍了Python字符串逐字符或逐词反转方法,本文对逐字符或逐词分别给出两种方法,需要的朋友可以参考下 目的 把字符串逐字符或逐词反转过来,这个蛮有 ...
- iOS知识点总结
1.监测网络状态: - (void)checkNetwork { __block NSString *tips; _reachiabilityManager = [AFNetworkReachabil ...
- git命令自动补全
git安装好后发现命令不能自动补全于是搜了很多方法,先按博客里面的方法试了下: 1.下载配置文件 git clone git://git.kernel.org/pub/scm/git/git.git ...
- Burp_Suite_Pro_v1.7.*激活
先下载工具: 链接:https://pan.baidu.com/s/1ZLvg8eqkgWI94FtrhkcTxg 提取码:9z1j 工具运行需要Java环境.解压完后双击keygen 填一下Li ...
- Django生成数据表时报错
Django生成数据表时报错 WARNINGS: ?: (mysql.W002) MySQL Strict Mode is not set for database connection 'defau ...
- jdk1.8 -- Collectors 的使用
package com.collector; import java.util.ArrayList; import java.util.Arrays; import java.util.Collect ...
- JS利用async、await处理少见的登录业务逻辑
在用uniapp开发一个项目时,有这样一个需求:用户首次登录后,uniapp自动保存用户名密码,之后不管是再次打开项目(打开项目时登录状态已失效)还是 请求接口(接口返回登录失效)时,都会先自动默认的 ...
- Oracle 11.2.0.4_Linux单例篇
Linux 下安装Oracle步骤: 1.设置ip地址 2.设置主机名 3.安装oracle依赖的软件包 mkdir /media/cdrom -p mount /dev/cdrom /media ...