
Golang Gorm
文章平均质量分 59
gorm............................
富士康质检员张全蛋
人生实难,唯有自渡。只有接受了真实现的现状和真实的自己,调整好心态,才能脚踏实地的活着,然后去发现角落处的那些惊喜和美好,去相信一切苦难困境都会过去!“即使身处阴沟,也要记得仰望星空”。
展开
-
Golang Gorm 连接数据库
GORM 官方支持以上四种数据库, 你可以为不支持的数据库编写支持,参考。,为了方便的去记住它们的导入路径,你可以像下面这样导入。为了连接数据库,你首先要导入数据库驱动程序。注意: 为了正确的处理 time.Time。已经包含了一些驱动程序。原创 2023-11-10 10:41:53 · 1446 阅读 · 0 评论 -
Golang Gorm 一对多 关联模式 Association + Append 添加关联 Association + Replace 替换关联 Association + Delete 删除
用一个新的关联替换当前的关联。原创 2023-09-21 19:36:47 · 1263 阅读 · 0 评论 -
Golang Gorm 一对多 关联模式 Association + Find 查询关联
所有关联关系,以上面的Card&User为例,,我们来管理以上两表之间的关联关系(上面两表,采用默认外键/主键的方式相互关联),就可以说一说外键设定了,两个结构体之间相互关联,最直接的想法是我怎么从一个结构体出发然后去获得另一个结构体。如果我需要通过User去查找它拥有哪些CreditCard, 那么实际上我做的事情 = "拿着User。associate是先去获取user,再去获取creditcard!// 关联查询的结果,保存到user.CreditCard属性。去CreditCard表查询".原创 2023-09-21 19:28:35 · 1434 阅读 · 0 评论 -
Golang gorm 一对一关系
一对一关系比较少,一般用于表的扩展例如一张用户表,有很多字段那么就可以把它拆分为两张表,常用的字段放主表,不常用的字段放详情表。单单使用take find这些是查询不出teacherinfo的信息的。针对用户表来说可以通过user去点出userinfo。想要查询用户详情使用preload。原创 2023-09-19 22:46:16 · 693 阅读 · 0 评论 -
Golang Gorm 创建HOOK
钩子函数比较简单,就是实现before create的一个方法。创建的时候,在插入数据之前,想要做一些事情。原创 2023-09-14 19:54:26 · 726 阅读 · 0 评论 -
Golang gorm manytomany 多对多 更新、删除、替换
(3)之后就是最关键的要去执行什么操作,这里是delete,删除谁呢?删除的就是article关联的tag。(2)Association然后去连接tags第三张表。(1)model 先拿到这张表,原创 2023-09-13 21:37:57 · 1148 阅读 · 1 评论 -
Gorm 错误处理 ErrRecordNotFound error
在 Go 语言中,错误处理是很重要的。Go 语言中鼓励人们在任何之后去检查错误。原创 2023-09-12 17:35:00 · 1992 阅读 · 0 评论 -
Golang Gorm 一对多的添加
一对多的添加有两种情况,一种是添加用户的时候,一起创建文章。其次是创建文章关联已经存在的用户。最后一种就是关联已有用户。原创 2023-08-28 09:39:43 · 990 阅读 · 0 评论 -
Golang Gorm 一对多 preload预加载
的数据,gorm就提前把这张表全部取出来,然后再执行。,最后把两种数据一一对应起来。原创 2023-08-26 09:38:05 · 2205 阅读 · 0 评论 -
Golang Gorm 一对多关系 表结构的建立
在创建的时候先将没有依赖的创建。表名称+ID就是外键。外键要和关联的外键的数据类型要保持一致。原创 2023-08-24 10:51:08 · 1133 阅读 · 0 评论 -
Golang Gorm 高级查询之where + find
如果是零值,那么查询的时候就不会将零值作为查询带上了。其实就是sql语句当中的where。之前学的这种写法也是可以的。原创 2023-08-24 10:17:58 · 1909 阅读 · 0 评论 -
Golang GORM 单表删除数据 delete
删除只有一个操作,delete。也是先找到再去删除。可以删除单条记录,也可以删除多条记录。原创 2023-08-21 08:43:13 · 2434 阅读 · 0 评论 -
Golang Gorm 更新字段 save、update、updates
更新和删除操作的前提条件都是要在找到数据的情况下,先要查询到数据才可以做操作。更新的前提的先查询到记录,Save保存所有字段,用于单个记录的全字段更新它会保控所有字段,即使零值也会保存。在更新和删除之前,要利用之前学的查询语句先查询到数据,再去更新,也就是使用find take先去查询所需要的记录,再去更新!原创 2023-08-19 08:54:01 · 8014 阅读 · 0 评论 -
Gorm 单表操作 查询数据 First() take()单条记录 Find()多条记录
first就是按照主键排序取第条记录,last就是按照主键倒排,也就是取最后一条记录。根据name来查询,这里一定要使用?去进行一个拼接,这个数值可能是前端传递过来的。因为指针id是看不懂的,通过json转化就可以变为看的懂的。查询多条记录,将其变为切片就行了。原创 2023-08-01 09:03:38 · 4621 阅读 · 0 评论 -
Gorm 单表操作 插入数据 db.Create
如果将name和email去注释掉,可以看到string类型的是空字符串,另外一个*string类型的是null。所以email的值可以是Email: nil。由于我们传递的是一个指针,调用完Create之后,student这个对象上面就有该记录的信息了,如创建的id。1.指针类型是为了更好的存NULL类型,但是传值的时候,也记得传指针。批量插入:需要准备切片或者数组,这里create要传入切片的指针。虽然结构体中没有插入ID的值,但是会在结构体当中生成这个值。2.Create按收的是一个指针,而不是值。原创 2023-07-27 16:38:33 · 1027 阅读 · 0 评论 -
Golang GORM 模型定义 结构标签、gorm.Model
模型一般都是普通的 Golang 的结构体,Go的基本数据类型,或者指针。模型是标准的struct,由Go的基本数据类型、实现了Scanner和Valuer接口的自定义类型及其指针或别名组成(创建一个结构体可以将其变为一张表)定义一张表:常识:小写属性是不会生成字段的id这里其实就是一个主键,主键就是可以自增并且不能重复。原创 2023-07-25 16:27:04 · 1035 阅读 · 0 评论 -
Gorm 日志的使用
第二种写日志的功能 创建session 在session里面去添加。gorm默认打印的是错误和慢sql,可以自定义显示日志的等级。全局 在gorm.config去添加。原创 2023-07-17 14:21:44 · 926 阅读 · 0 评论 -
Gorm Many To Many 多对多关系
比如一个张三报名了两门课程go和vue,张三的userid是1,在中间表两个userid为1对应的是两个lesson。它的语言是go java.....,它的own也就是属于哪个开发的,这是它的属性。应用和own是多对多的关系,一个应用表,一个开发表。一种是维护学生的各种信息的,一种是维护课程的各种信息。其实真正数据冗余的就是中间表,但是中间表也不算冗余,因为只有两个字段,两个字段都是带索引的,不会去占用很多空间。这里有两个功能,一个作用是声明多对多关系,它去找哪个类型去和它做多对多关联。原创 2023-06-25 10:12:00 · 540 阅读 · 0 评论 -
Golang gorm 关联关系 一对多
has many关联就是创建和另一个模型的一对多关系(数据库里面是一对多,然后struct里面也是一对多)例如, 例如每一个用户都拥有多张信用卡,这样就是生活中一个简单的一对多关系在设计表的时候不可能将所有的信息都放在一个表里面,那么表就会非常非常的宽。这样字段就会非常的多,性能就会受到影响。在设计的时候这里其实就可以设置为两张表。一个是用户的详情表和信用卡的详情表,用户表里面加上卡的id和他做一个关联,那么这就是一对多的关系。原创 2023-04-19 09:23:58 · 2758 阅读 · 1 评论 -
Golang GORM 初始化/增、删、改、查
使用golang的orm框架就是将golang当中的struct,就是结构体和数据库当中的表字段进行一个映射。orm框架主要的作用就是,在go里面就是struct,在java里面其实就是class类,也即是让对象和表产生一个映射关系,我们就不需要操作表了,直接操作对象就行了。当我导入进来不使用的时候,说明包里面init函数是要执行的,其实就是执行里面的init。总而言之就是操作结构体就能够操作数据库,操作结构体,那么表里面的数据其实也就会跟着发生变化。如果导入的包是不使用的,那么在前面加上_,比如。原创 2023-04-12 08:45:13 · 2030 阅读 · 0 评论