gorm基本使用gorm安装
gorm框架是go的一个数据库连接及交互框架,一般用于连接关系型数据库 。
安装gorm , 使用命令安装:
go get -u -v github.com/jinzhu/gorm
连接数据库
构建连接的目标为数据库中某一个库,同大多数框架一样使用url进行连接,url基本格式:
用户名:密码@连接方式(ip:port)/数据库名?参数
参数描述:
用户名 :连接数据库用户名
密码 :连接数据库密码
连接方式 :或称为访问协议,一般为tcp
ip :数据库所在服务器地址
port :数据库监听端口
数据库名 :数据库中对应要连接库名
参数 :附加数据库参数,根据数据库不同内容不同
确定url后,就可以调用gorm中参数进行连接数据库操作:
别忘记import语句导入包:
操作完数据库后不要忘了关闭连接:
表操作
创建表
gorm创建表基于结构体,所以创建表前要先用结构体规划表结构,这里简单写一个结构体,创建表时默认结构体第一个字段作为主键:
写好结构体后,调用创建表语句直接按照结构体结构创建表:
当直接创建表时 , 表名遵循规范:
1、大写字母全部小写,所有位于中间的大写字母都变成小写字母并且前面加下划线 , 例如UserInfo结构体创建为表名称为user_infos 。
2、上面最后的那个s是因为直接创建表时,名称最后都会加上一个s 。所以上面结构体User创建表后名称为users 。
删除表
增删改查
插入数据
插入数据,插入数据方法结构使用Create方法:
查询数据
查询第一条找到的数据,使用First,该方法返回值仍然为db对象,所以接收数据时我们需要先定义一个对应表结构的结构体接收数据:
有First就有Last,同First调用格式一致 。
批量查询,批量查询使用Find方法 , 其余参数结构同First或Last相同,只不过传参时一般传入数组参数,当然,First或Last方法也可以传入数组参数,但得到的数组只有一个数据,批量查询操作:
更新数据
删除内容
Go语言使用gorm对MySQL进行性能测试之前写过了Go语言gorm框架MySQL实践,其中对gorm框架在操作MySQL的各种基础实践,下面分享一下如何使用gorm框架对MySQL直接进行性能测试的简单实践 。
这里我使用了一个原始的Go语言版本的FunTester测试框架,现在只有一个基本的方法,实在是因为Go语言特性太强了 。框架设计的主要思路之一就是利用Go语言的闭包和方法参数特性,将一个func()当做性能测试的主题,通过不断运行这个func()来实现性能测试 。当然还有另外一个思路就是运行一个多线程任务类,类似Java版本的com.funtester.base.constaint.ThreadBase抽象类,这样可以设置一些类的属性,绑定一些测试资源,适配更多的测试场景 。
下面演示select的性能测试,这里我用了随机ID查询的场景 。
这里我使用从35开始递增的ID进行删除 。
这里使用了select的用例部分,随机ID,然后更新name字段,随机10个长度的字符串 。
【go语言gorm go语言gormprimarykey】这里用到了FunTester字段都是随机生成 。
到这里可以看出,性能测试框架用到的都是gorm框架的基础API使用,这里MySQL连接池的管理工作完全交给了gorm框架完成,看资料说非常牛逼,我们只需要设置几个参数 。这个使用体现很像HttpClient设置HTTP连接池类似,这里我们也可以看出这些优秀的框架使用起来都是非常简单的 。
PS:关于gorm的基础使用的请参考上一期的文章Go语言gorm框架MySQL实践 。
推荐阅读
- word如何打水印,word文档去水印的办法
- 电脑最强下载工具是什么,电脑最好用的下载工具
- 钻戒如何营销文案,钻戒如何营销文案范文
- 统计报表java代码,java统计报表怎么做的
- php借助折线图分析数据 php绘制曲线图
- 广告如何应用到新媒体中,新媒体在广告中的应用
- linux里HOME命令,linux ghome
- 新买电视遥控器怎么匹配,新买的电视遥控器如何配对
- linux命令英语 linux命令英文全称的网站