当前位置: 首页>行业 >

焦点速读:Gorm-自定义查询(二)

来源: 腾讯云 | 时间: 2023-04-26 10:40:10 |


(资料图片)

注意事项

在使用自定义查询方法时,需要注意以下几点:

自定义查询方法的第一个参数必须是*gorm.DB类型的对象,该对象表示查询的数据库连接。自定义查询方法返回的类型必须是*gorm.DB类型的对象,以便可以在查询语句中继续使用。自定义查询方法不能包含无法被Gorm解析的语法,例如纯SQL语句或原始查询参数。自定义查询方法可以与其他内置方法一起使用,但需要注意查询语句的语法正确性。自定义查询方法应该被命名得尽量清晰明了,以便于其他人理解和使用。

示例代码

下面是一个完整的示例代码,演示了如何定义和使用自定义查询方法。该示例代码基于一个名为"users"的表格进行查询,该表格包含"id"和"name"两个字段。我们定义了一个自定义查询方法FindByName,该方法接收一个名字参数,并返回一个查询结果对象。在主函数中,我们调用了该自定义查询方法,并将结果存储在一个名为"users"的切片中。

package mainimport (    "fmt"    "gorm.io/driver/sqlite"    "gorm.io/gorm")type User struct {    ID   uint    Name string}func (u User) FindByName(db *gorm.DB, name string) *gorm.DB {    return db.Where("name = ?", name)}func main() {    dsn := "test.db"    db, err := gorm.Open(sqlite.Open(dsn), &gorm.Config{})    if err != nil {        panic("failed to connect database")    }    db.AutoMigrate(&User{})    // Create some test data    db.Create(&User{Name: "Tom"})    db.Create(&User{Name: "Jerry"})    db.Create(&User{Name: "Mike"})    db.Create(&User{Name: "Tom"})    // Use custom query method    var users []User    db.Model(User{}).FindByName("Tom").Find(&users)    fmt.Println(users)}

上述代码创建了一个名为"test.db"的SQLite数据库连接,并创建了一个"users"表格。然后,我们使用自定义查询方法FindByName来查询名字为"Tom"的用户,并将结果存储在users切片中。最后,我们输出了查询结果。

关键词:

 

热文推荐

焦点速读:Gorm-自定义查询(二)

下面是一个完整的示例代码,演示了如何定义和使用自定义查询方法。该示例代码基于一个名为 "users "的表格

2023-04-26

盐津铺子:4月25日融券卖出1.07万股,融资融券余额3477.3万元

4月25日,盐津铺子(002847)融资买入75 94万元,融资偿还205 56万元,融资净卖出129 62万元,融资余额3166

2023-04-26

新股公告 | 珍酒李渡(06979)香港公开发售获认购约1.94倍 每股发售价10.82港元 全球百事通

珍酒李渡(06979)公布配售结果,发售价已厘定为每股发售股份10 82港元

2023-04-26

【报资讯】“第五届双品网购节”(深圳)活动将启动

五一小长假来临在即,为顺应消费升级趋势,加快推动新型消费提质扩容,持续激发消费潜力,倡导品牌消费、品

2023-04-26

微速讯:【产品展示】分体式空调一站式智慧服务

(一)产品介绍分体式空调一站式智慧服务,以独有的技术优势为空调提供全生命周期的运维保障服务。(二)产

2023-04-26

招商安阳债券型证券投资基金2023年度第二次分红公告

1、公告基本信息基金名称基金简称基金主代码基金合同生效日基金管理人名称基金托管人名称公告依据收益分配

2023-04-26

商标恶意抢注行为须严惩 每日视点

商标恶意抢注行为须严惩---在4月25日召开的北京法院知识产权宣传周新闻发布会上,北京市高级人民法院表示,

2023-04-26

专访香港中文大学李康善:香港力促产学研从“1到N”落地,内地和香港的资金流动渠道有待改善 当前消息

作为全球创新要素的重要聚集地和全球创新网络的关键枢纽,香港正在将创新科技打造成为社会发展的新引擎,同

2023-04-26

里弗斯:几天之内不会有恩比德的伤情更新 今天他没参加训练|世界热讯

直播吧4月26日讯 今天,76人主帅里弗斯接受了采访,期间他谈到了恩比德。在被问及恩比德季后赛次轮的出战

2023-04-26

OpenAI发布重磅信息!很快将推出ChatGPT企业版订阅服务 天天热头条

财联社4月26日讯(编辑赵昊)当地时间周二(4月25日),人工智能研究公司OpenAI在官网发布的公告中表示,现

2023-04-26

天天时讯:2022年山西各地市地方财政收入出炉:吕梁增速第一

一、2022年山西各地市财政一般公共预算收入:第1名,太原市,437 48亿,同比增速3 3%第2名,吕梁市,342 18

2023-04-26

3m隔热膜官方网站_3m汽车膜官方网站

1、不少网友在选购汽车膜的时候都会问“3m汽车膜中国代理”相似的疑问,我推荐大家查找一下汽车膜在网络上

2023-04-26

每日讯息!人教版六年级下册数学第二单元试卷分析_人教版六年级下册数学第二单元试卷 求答案

1、去百度文库,查看完整内容>内容来自用户:周里军zhlj最新人教版六年级数学下册第二单元测试题及答案最新

2023-04-25

里约奥运会女排决赛中国vs塞尔维亚_奥运女排冠军决赛什么时间|即时

1、21号零点,对塞尔维亚2016里约奥运女排决赛时间8月21日9:15周日决赛,8月21日。2、肯定赢的,8月21日

2023-04-25

世界消息!旗滨集团:一季度净利同比降78.42%

e公司讯,旗滨集团(601636)4月25日晚间披露年报,2022年实现营业收入133 13亿元,同比下降9 42%;净利润13

2023-04-25

长实集团(01113)4月25日回购1310.12万港元 已连续3日回购 世界新要闻

证券时报·数据宝统计,长实集团在港交所公告显示,4月25日以每股45 250港元至45 400港元的价格回购28 90万

2023-04-25

北伐战争时间是什么时候_北伐战争简介

欢迎观看本篇文章,小勉来为大家解答以上问题。北伐战争时间是什么时候,北伐战争简介很多人还不知道,现在

2023-04-25

天天最资讯丨减值计提什么意思(减值)

1、你买一个手机2000元使用期如是3年使用了一年后按照正常的计算帐面上你这个手机还应该值1500元但市场价格

2023-04-25

中国向世界发起成立国际月球科研站合作组织倡议

吴伟仁表示,近年来,中国空间技术能力实现重大跨越,建成深空探测重大基础设施,并与世界多个国家建立起合

2023-04-25

【上海汇正财经】锂电股业绩集中爆雷,创业板创年内新低|当前快看

盘面回顾:沪深创延续调整,创业板全天领跌,科创50午后下探,收盘沪指跌0 32%,深成指跌1 48%,创业板指跌

2023-04-25

资讯

滑板运动成青少年“新宠” “播零杯”少年城市联赛开赛

6月5日下午,在深圳大中华广场HUA广场,播零杯滑板少年城市联赛首站赛事开赛。滑板运动成为青少年们的新宠。据播零滑板课堂的小罗现场介绍

2022-08-26     
天津津门虎队教练于根伟:机会来了要冷静

天津津门虎队明天将迎来中超联赛第五轮比赛,未尝一胜的现实也让全队上下倍感压力。昨天,主教练于根伟在谈及全队问题时表示:球员们在完成

2022-06-20     
北京推出14条秋游文化线路

金秋时节,北京市文化和旅游局以赏银杏品文化为主题,推出14条“叶落的季节——漫步北京赏银杏品文化主题线路”,邀市民和游客以步行、骑行

2021-10-27     
基因编辑发力 培育高质量人源化供体猪

此次人体试验,仅仅验证了基因编辑猪克服异种器官移植的超急性排斥反应,还需解决延迟性排斥反应、消耗性血栓等问题。但通过这次试验,能更

2021-10-27     
中国经济高质量发展步伐稳健 长期向好基本面未变

在全球疫情走势和经济走势趋于复杂的背景下,中国经济巨轮将驶向何方,举世关注。2020年10月26日至29日,党的十九届五中全会在京举行,明确

2021-10-27     
南美解放者杯决赛允许近4.5万观众入场

南美洲足联主席多明格斯25日与今年解放者杯决赛对阵的两支俱乐部负责人会晤,宣布决赛现场观众人数增加到球场容量的75%,即近4 5万人。今年

2021-10-27