让gorm代码飞起来,gorm+gmodeltool生成entity,让实体类代码更轻松。
背景
不卷!php经历多年的不衰败的原因只有一个,哪就是不卷,但是由于并发和缺乏编译严谨度降低,使得长青树不得己走向了衰败。
但!叱咤风云多年,大企百度、腾讯、新浪、搜狐的首先语言的流行在于,其语言的简洁,对业务表达的更为直接。拒绝java的对象中加层中层,在我眼中哪就是一坨臭臭~
话不多说,上代码,看看效果!
gmodeltool生成实体类
- go环境安装,不多说,去必应一下吧!
- 安装gmodeltool
go install github.com/lingdor/gmodeltool
到这里有2种方式,一处是shell生成,一种是嵌入式生成(就是在代码中生成指定代码段)。
3. 生成entity
gmodeltool gen entity --gorm --dsn 'user:password@tcp(127.0.0.1:3306)/db1' --to-files ./ --tables "tb_user"
生成的entity
tbuser_gen.go
//gmodel:gen:entity:tb_user:10ee7e5ec910d29e251a7a7481b7fed9
type TbUserEntity struct {
id *string `gmodel:"id" gorm:"column:id;primaryKey;"` //
name *string `gmodel:"name" gorm:"column:name"` //
age *int `gmodel:"age" gorm:"column:age"` //
createtime *time.Time `gmodel:"createtime" gorm:"column:createtime"` //
}
//gmodel:gen:end
嵌入式生成-代码段(可以随时一键更新代码)
package main
//go:generate gmodeltool gen entity --gorm --dsn 'user:password@tcp(127.0.0.1:3306)/db1' --tables "tb_user"
//gmodel:gen:entity:@embed:10ee7e5ec910d29e251a7a7481b7fed9
type TbUserEntity struct {
id *string `gmodel:"id" gorm:"column:id;primaryKey;"` //
name *string `gmodel:"name" gorm:"column:name"` //
age *int `gmodel:"age" gorm:"column:age"` //
createtime *time.Time `gmodel:"createtime" gorm:"column:createtime"` //
}
//gmodel:gen:end
gmodeltool 配置
你可以在项目的根目录中放置一个gmodel.yml文件,用于配置gmodeltool生成时,所需的相关配置。如数据库连接dsn,是否显示verbose。
gmodel.yml
gmodel:
verbose: true
connection:
default:
dsn: mysql://root:123456@tcp(127.0.0.1:3306)/db1
user:
dsn: mysql://root:123456@tcp(127.0.0.1:3306)/db2
这样,你就可以不用每次执行gmodeltool指令时都加dsn和verbose参数了,当然可以通过connection参数指定配置中的连接地址。
3ks.
让gorm代码飞起来,gorm+gmodeltool生成entity,让实体类代码更轻松。的更多相关文章
- EA生成实体类代码
引言 在做机房个人版重构的时候,就听说了EA是一个强大的软件.仅仅只是知道的时候,已经画完了图,没有怎么用EA其它的功能,所以一直没有见识过罢了.如今到了机房合作了,想到EA一定要好好用,这样能省不少 ...
- XSD文件生成C#VO实体类
最近公司要做一个项目,需要和现有的其他项目对接,由于不知道他们的数据库,只有XSD文件.所以,我们在修改相应的程序时,就需要根据他们提供的XSD文件,来写我们的VO实体类,由于我写过根据Oracle数 ...
- 使用T4模板生成MySql数据库实体类
注:本文系作者原创,但可随意转载. 现在呆的公司使用的数据库几乎都是MySQL.编程方式DatabaseFirst.即先写数据库设计,表设计按照规范好的文档写进EXCEL里,然后用公司的宏,生成建表脚 ...
- c#实例化继承类,必须对被继承类的程序集做引用 .net core Redis分布式缓存客户端实现逻辑分析及示例demo 数据库笔记之索引和事务 centos 7下安装python 3.6笔记 你大波哥~ C#开源框架(转载) JSON C# Class Generator ---由json字符串生成C#实体类的工具
c#实例化继承类,必须对被继承类的程序集做引用 0x00 问题 类型“Model.NewModel”在未被引用的程序集中定义.必须添加对程序集“Model, Version=1.0.0.0, Cu ...
- 5.7 Liquibase:与具体数据库独立的追踪、管理和应用数据库Scheme变化的工具。-mybatis-generator将数据库表反向生成对应的实体类及基于mybatis的mapper接口和xml映射文件(类似代码生成器)
一. liquibase 使用说明 功能概述:通过xml文件规范化维护数据库表结构及初始化数据. 1.配置不同环境下的数据库信息 (1)创建不同环境的数据库. (2)在resource/liquiba ...
- netbeans中实体类代码的bug
用了netbeans中实体类代码后,忽然报错: com.sun.tools.javac.code.Symbol$CompletionFailure: 找不到sun.util.logging.Platf ...
- Myeclipse 10使用hibernate生成注解(annotation)实体类
以MySQL数据库为例,请在数据库里面建好对应的表. 1.配置数据库链接 打开Myelipse Database Explorer视图 Window-->Open Perspective--&g ...
- SqlServer数据库表生成C# Model实体类SQL语句——补充
在sql语句最前边加上 use[数据库名] 原链接:https://www.cnblogs.com/jhli/p/11552105.html --[SQL骚操作]SqlServer数据库表生成C ...
- SpringBoot整合Mybatis 使用generator自动生成实体类代码、Mapper代码、dao层代码
1.新建一个SpringBoot项目,并引入Mybatis和mybatis-generator相关的依赖. <dependency> <groupId>org.springfr ...
- 如何由XSD自动生成XML和实体类
项目中有时候要用XML作为数据源,因此需要定义XML文件和相应的类,最佳方法是首先定义XSD,然后自动生成实体类,最后生成XML和填充数据:读取XML数据源的时候,首先用XSD验证XML数据格式,然后 ...
随机推荐
- Arduino入门教程
Arduino入门教程 Arduino是一款简单易学的开源电子原型平台,包含硬件(各种型号的Arduino板)和软件(Arduino IDE).它通过各种各样的传感器来感知环境,再通过控制 ...
- 虹科分享 | HPC调度解决方案:HK-Adaptive在数字卫星图像领域的应用
2011年3月11日,日本海岸附近发生了9.0级地震.这次地震引发了强大的海啸,并向内陆传播了6英里,不仅使地球的轴心偏移了大约10到25厘米,还导致福岛核电站发生核紧急情况. 为了减少这场灾害的损失 ...
- 《最新出炉》系列初窥篇-Python+Playwright自动化测试-23-处理select下拉框-下篇
1.简介 上一篇中宏哥主要讲解和分享了一下,我们常见或者传统的select下拉框的操作,但是近几年又出现了了一种新的select下拉框,其和我们传统的select下拉框完全不一样,那么我们如何使用pl ...
- 让物体动起来,Unity的几种移动方式
一.前言 在大部分的Unity游戏开发中,移动是极其重要的一部分,移动的手感决定着游戏的成败,一个优秀的移动手感无疑可以给游戏带来非常舒服的体验.而Unity中有多种移动方法,使用Transform, ...
- keycloak~为keycloak-services项目添加第三方模块(首创)
我们在对keycloak框架中的核心项目keycloak-services进行二次开发过程中,发现了一个问题,当时有这种需求,在keycloak-services中需要使用infinispan缓存,我 ...
- [转载]R2: 相关系数、复相关系数及半偏相关系数之间的联系
开贴举例说明相关系数.复相关系数及半偏相关系数之间的联系. 比如,我们要预测学生在高中的表现(学生成绩),一种方法是测量学习速度和难易程度的能力测验来衡量学生的学习能力.那么,假设一个学生已经做了这样 ...
- 如何在Notepad++中轻松删除包含指定文本的字符串
如果你需要在大量文本中删除指定模式的字符串,可以使用Notepad++中的正则表达式功能.下面是一个示例,让你可以快速学会如何删除包含指定文本的字符串.我们将使用以下示例字符串: This is a ...
- 深入理解JMeter中的JSON Extractor
Apache JMeter是一款出色的开源性能和功能测试工具,这款工具提供了丰富的功能和强大的扩展性,可以应对各种复杂的测试需求.当我们在进行接口测试时,经常会遇到需要从接口响应中提取信息并在后续请求 ...
- 【Javaweb】什么是Listener监听器?
1.Listener监听器它是Javaweb的三大组件之一.Javaweb的三大组件分别是:Servelt程序,Filter过滤器,Listener监听器. 2.Listener它是JavaEE的规范 ...
- extern关键字的用法
extern关键字的理解 extern是C/C++语言中的一个关键字,用于声明一个变量或函数具有外部链接性(external linkage),即这些变量或函数可以被其他文件访问. 在C/C++中,如 ...