关键词:
1:参考:https://github.com/jinzhu/gorm
2:数据库脚本(pg)
-- create table posts( id serial primary key, content text, author varchar(100), create_time timestamptz ); create table comments( id serial primary key, content text, author varchar(100), post_id int references posts(id), create_time timestamptz );
3:posts.go
package posts import( "fmt" "github.com/jinzhu/gorm" _"github.com/lib/pq" "time" ) type Comment struct ID int Content string `sql:"not null"` Author string `sql:"not null"` PostId int `sql:"post_id"` CreateTime time.Time `sql:"create_time"` type Post struct ID int Content string `sql:"not null"` Author string `sql:"not null"` CreateTime time.Time `sql:"create_time"` Comments []Comment const( host = "192.168.72.128" port = 5432 user = "test" password = "test" dbname = "testdb" ) var Db *gorm.DB func init() var err error psqlInfo := fmt.Sprintf("host=%s port=%d user=%s "+ "password=%s dbname=%s sslmode=disable",host, port, user, password, dbname) Db, err = gorm.Open("postgres", psqlInfo) if err != nil panic(err) Db.AutoMigrate(&Post, &Comment) func (post *Post) CreatePost() error return Db.Create(post).Error func (comment *Comment) CreateComment(post *Post) error return Db.Model(post).Association("Comments").Append(comment).Error func (post *Post) GetComments() (comments []Comment, err error) Db.Where("author=$1", "王五").First(post) err = Db.Model(&post).Related(&comments).Error return
4:main.go
package main import( "fmt" "time" "Chapter02/posts" ) func main() post := posts.Post Content:"Hello go!", Author:"王五", CreateTime: time.Now(), fmt.Println(post) err := post.CreatePost() if err!=nil panic(err) fmt.Println(post) comment := posts.Comment Content:"不错哟", Author:"小二", CreateTime: time.Now(), err = comment.CreateComment(&post) if err != nil panic(err) post = posts.Post comments, err := post.GetComments() if err != nil panic(err) for _,p := range comments fmt.Printf("%s-%s\n", p.Author,p.Content)
gorm框架学习---crud接口之查询(代码片段)
Gorm框架学习---CRUD接口之查询环境搭建检索单个对象用主键检索检索全部对象条件String条件Struct&Map条件指定结构体查询字段内联条件Not条件Or条件选择特定字段OrderLimit&OffsetGroupBy&HavingDistinctJoinsJoins预加载join派生表(Derived... 查看详情
golang之orm框架gorm快速开始(代码片段)
Gorm快速入门Gorm是Go语言的ORM框架,其特点有:全特性ORM(几乎包含所有特性)模型关联(一对一,一对多,一对多(反向),多对多,多态关联)钩子(Before/AfterCreate/Save/Update/Delete/Find)预加载事务复合主... 查看详情
golang之orm框架gorm快速开始(代码片段)
Gorm快速入门Gorm是Go语言的ORM框架,其特点有:全特性ORM(几乎包含所有特性)模型关联(一对一,一对多,一对多(反向),多对多,多态关联)钩子(Before/AfterCreate/Save/Update/Delete/Find)预加载事务复合主... 查看详情
go之数据库gorm(代码片段)
参考的链接https://gorm.io/docs/migration.htmlhttps://blog.csdn.net/qq_23179075/article/details/88066241 查看详情
gorm框架学习--入门(代码片段)
Gorm框架学习--入门引言快速入门模型定义约定gorm.Model高级选项字段级权限控制创建/更新时间追踪(纳秒、毫秒、秒、Time)嵌入结构体字段标签关联标签连接到数据库MySQL自定义驱动现有的数据库连接其他连接池参考引言... 查看详情
golang修仙记之gorm(代码片段)
学习了如何连接数据库、简单的错误处理、关闭数据库、创建表、创建表中的一条记录、读取表的记录、更新表的记录、删除标的记录packagemainimport("github.com/jinzhu/gorm"_"github.com/jinzhu/gorm/dialects/mysql""time")typeUserstructgorm.ModelNamestring... 查看详情
学习笔记golang之gorm学习笔记(代码片段)
一、模型定义1.模型定义模型是标准的struct,由Go的基本数据类型、实现了Scanner和Valuer接口的自定义类型及其指针或别名组成,如:typeUserstructIDuintNamestringEmail*stringAgeuint8Birthday*time.TimeMemberNumbersql.NullStringActivedAtsql 查看详情
unittest单元测试框架之测试套件(代码片段)
1.测试套件(注意:测试用例先添加先执行,后添加后执行,由此组织与设定测试用例的执行顺序)addTests:添加多个测试用例addTest:添加单个测试用例importunittestfromUnittestDemo.test_mathfuncimportTestMathFuncif__name__=="__main__": suite=uni... 查看详情
unittest单元测试框架之unittest框架的总结2(代码片段)
unittest下的属性1.Unittest.TestCase:所有测试用例类继承的基本类2.Unittest.main():将一个单元测试模块变为可直接运行的测试脚本If__name__==“__main__”:Unittest.main()3.Unittest.TestSuite:创建测试套件4.unittest.TextTestRunner():unittest框架的TextTestRunn 查看详情
自动化测试框架之pytest(代码片段)
基于python的自动化测试框架:unittest (白盒单元测试)pytest(白盒单元测试)robotframework (系统测试)pytest可以用来做系统测试的自动化,它的特点有用Python编写测试用例,简便易用可以用文... 查看详情
webui自动化测试框架搭建之需求整理详细设计框架设计(代码片段)
(WebUI自动化测试框架搭建之需求整理、详细设计、框架设计)1总体需求1.1实现目的基于BS架构,模拟用户(鼠标、键盘)操作,达到快速、重复执行测试用例;便于回归测试,快速覆盖主线用例或功能;线上或线下巡检测试,结... 查看详情
unittest单元测试框架之测试结果输出到外部文件(代码片段)
1.test_suit执行测试用例及输出结果前添加如下代码(打开会新建d:/result.txt文件): withopen("d:\result.txt","a")asf:importunittestfromUnittestDemo.test_mathfuncimportTestMathFuncif__name__=="__main__": suite=unittest.TestSuite( 查看详情
grails框架之domain与gorm
...ails就是为了简化Java-Web企业级应用开发而生的轻量级开源框架。传统的Java程序员经历过 查看详情
gin框架学习-gin框架和gorm框架搭建一个简单的api微服务(代码片段)
...术,不太熟悉的可以去看看我以前的文章快速安装gin框架:https://blog.csdn.net/weixin_46618592/article/details/125540869HTTP请求:https://blog.csdn.net/weixin_46618592/article/details/125565789Gorm入门指南:https://blog.csdn.net/weixin_46618592/articl... 查看详情
unittest单元测试框架之测试用例的跳过(skip)(代码片段)
1.跳过测试用例的方法@unittest.skip("don‘trunthiscase!"):@unittest.skipIf(3<2,"don‘trunthiscase!"):@unittest.skipUnless(3>2,"don‘trunthiscase!"):importunittestfromUnittestDemo.mathfuncimport*classTestMath 查看详情
从java到go搭建go的orm框架gorm(代码片段)
【提问】如何使用Goland软件,搭建一个ORM框架GORM?【解答】具体步骤如下:1、检查Go的安装在任意目录执行如下命令:goversion若有如下返回,则安装成功;如果报异常,则重新安装golanggoversiongo1.19.1darw... 查看详情
从java到go搭建go的orm框架gorm(代码片段)
【提问】如何使用Goland软件,搭建一个ORM框架GORM?【解答】具体步骤如下:1、检查Go的安装在任意目录执行如下命令:goversion若有如下返回,则安装成功;如果报异常,则重新安装golanggoversiongo1.19.1darw... 查看详情
golangorm框架之gorm
最近在想给这个小站增加点赞和评论功能,第三方系统又有各种限制,就想自己弄个后端,实现类似的功能,对于个人来说,数据量不是很大,单机的mysql足够存下所有数据,mysql作为底层存储是个不错的选择之前在公司是直接... 查看详情