gorm连接数据库构建连接的目标 gome是什么牌子手机


gorm连接数据库构建连接的目标 gome是什么牌子手机

文章插图
gorm安装
Gorm框架是Go的数据库连接和交互框架,通常用于连接关系数据库 。
使用命令安装gorm:
goget-u-vgithub.com/jinzhu/gorm
连接数据库
构建连接的目标是数据库中的一个数据库,使用URL作为大多数框架,URL的基本格式:
用户名:密码@连接方式(ip:port)/数据库名参数
参数描述:
用户名:连接数据库用户名
密码:连接数据库密码:
连接方式:或访问协议,一般为tcp
ip:服务器地址数据库
port:数据库监控端口
数据库名称:数据库中对应的连接
参数:根据数据库的不同内容,增加数据库参数
在确定url后,可以调用gorm中的参数来连接数据库:
///调用Open函数连接数据库 。第一个参数是相应数据库的名称 。以mysql为例,mariadb也可以使用mysql作为名称 。第二个参数是刚刚设置的url 。//得到两个结果:第一个是连接对象,用于操作数据库对象;第二个是错误的信息 。如果连接失败,将返回内容,并成功返回nil 。dbConn,err:=gorm.Open("mysql","root:123456@tcp(127.0.0.1:3306/test1charset=utf8&parseTime=True&loc=Local")iferr!=nil{panic(err)}别忘了import语句导入包:
//gorm包Řgithub.com/jinzhu/gorm"///数据库方言,因为不会直接使用,所以前面要加划线_"github.com/jinzhu/gorm/dialects/mysql"操作数据库后不要忘记关闭连接:
dbConn.Close()表操作
创建表
Gorm创建表是基于结构的,所以在创建表之前,我们应该使用结构规划表的结构 。在这里,我们简单地写一个结构 。在创建表时,默认情况下,结构的第一个字段作为主键:
//创建结构体映射表结构typeuserstructruct{IdintNamestringDatastring}编写结构体后,根据结构体结构直接调用创建表语句创建表:
///直接创建dbconn.CreateTable(&User()/自定义表名创建dbconn表.Table("user").Create(&User{})直接创建表时,表名遵循规范:
1、所有的大写字母都是小写的,中间所有的大写字母都变成了小写字母,并在前面添加了标记 。例如,UserInfo结构被创建成一个名称为user_的表格infos 。
2、上面最后一个s是因为直接创建表的时候,名字最后会加一个s 。因此,上述结构User创建表后的名称是Users 。
删除表
///根据结构删除,即默认表名dbconn.DropTable(&User{}///按表名删除,可自定义表名dbconn.DropTable("user")增删改查
插入数据
Create方法用于插入数据,插入数据方法结构:
///将数据dbconn插入默认表名.Create(&User{Id:1,Name:"awda",Data:"ssss"})///自定义表名插入数据dbconnn.Table("user").Create(&User{Id:1,Name:"awda",Data:"ssss"})查询数据
使用First查询第一条发现的数据,该方法的返回值仍然是db对象,因此在接收数据时,我们需要首先定义相应表结构的结构接收数据:
///定义user的结构对象varuser//或两种操作方法///其中&user代表上述定义的结构对象用于接收数据,通过上述变量直接操作//默认查询相当于查询第一个数据dbconn.First(&user)dbConn.Table("user").First(&user)//输出内容fmt.Print(user.Id)//带条件查询//只输入一个参数代表默认查询主键dbconnn.First(&user,1)dbConn.Table("user").First(&user,1)//也可以指定查询条件,条件书写格式与普通sql语句没有什么不同First方法是一种动态参数方法,可以传输到任何参数中First方法代表占位符,是一种动态参数方法,可以根据占位符逐一传入任何参数 。dbConn.First(&user,"name=?andid=?","awda",1)dbConn.Table("user").First(&user,"name=?andid=?","awda",1)有First就有Last,与First调用格式一致 。
批量查询和批量查询采用Find方法,其他参数结构与First或Last相同,但通常在传输参数时传输到数组参数 。当然,First或Last方法也可以传输到数组参数,但获得的数组只有一个数据 。批量查询操作:

    推荐阅读