范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

gorm基本使用

  gorm安装
  gorm框架是go的一个数据库连接及交互框架,一般用于连接关系型数据库。
  安装gorm,使用命令安装:
  go get -u -v github.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)/test1?charset=utf8&parseTime=True&loc=Local")  if err != nil {  		panic(err)  }
  别忘记import语句导入包:// gorm包  "github.com/jinzhu/gorm"  //数据库方言,因为不会直接使用,所以前面要加下划线  _ "github.com/jinzhu/gorm/dialects/mysql"
  操作完数据库后不要忘了关闭连接:dbConn.Close()
  表操作
  创建表
  gorm创建表基于结构体,所以创建表前要先用结构体规划表结构,这里简单写一个结构体,创建表时默认结构体第一个字段作为主键://创建结构体映射表结构 type User struct { 	Id int 	Name string 	Data string }
  写好结构体后,调用创建表语句直接按照结构体结构创建表:// 直接创建表 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"})  // 自定义表名插入数据  dbConn.Table("user").Create(&User{Id: 1, Name: "awda", Data: "ssss"})
  查询数据
  查询第一条找到的数据,使用First,该方法返回值仍然为db对象,所以接收数据时我们需要先定义一个对应表结构的结构体接收数据://定义user的结构体对象  var user User  // 还是两种操作方式  //其中&user代表上面定义的结构体对象用于接收数据,使用时通过上面变量直接操作  //默认查询的话相当于查询第一条数据  dbConn.First(&user)  dbConn.Table("user").First(&user)  //输出内容  fmt.Print(user.Id)  //带条件查询  //只传入一个参数时代表默认查询主键  dbConn.First(&user, 1)  dbConn.Table("user").First(&user, 1)  //也可以指定查询条件,条件书写格式与普通sql语句并无不同,其中?代表占位符,First方法是动态参数方法,可以传入任意参数,将按照?占位符逐个传入。  dbConn.First(&user, "name=? and id = ?", "awda", 1)  dbConn.Table("user").First(&user, "name=? and id = ?", "awda", 1)
  有First就有Last,同First调用格式一致。
  批量查询,批量查询使用Find方法,其余参数结构同First或Last相同,只不过传参时一般传入数组参数,当然,First或Last方法也可以传入数组参数,但得到的数组只有一个数据,批量查询操作://定义结构体数组接收批量数据 var user[] User  //其余操作与之前相同,不再过度演示 dbConn.Find(&user) dbConn.Table("user").Find(&user)
  更新数据 //根据Where语句更新 //更新单个字段 dbConn.Table("user").Where("id=?", 1).Update("id", 1234) //更新批量字段 dbConn.Table("user").Where("id=?",2).Updates(&User{Id: 123, Name: "awdawd1231"}) //按主键更新,传入结构体对象,根据对应主键更新相应内容 dbConn.Table("user").Save(&user1)
  删除内容 //按照主键删除 dbConn.Table("user").Delete(&user1)  //指定条件删除,后面需要指定一个空指针,因为Delete方法必须有参数 dbTable("user").Where(条件表达式).Delete(&User{})  //传入空指针代表指定结构,按照默认表名去删除其中内容 db.Where(条件表达式).Delete(&User{})

中国位居第二,美国后程太猛,超过了中国目前位居第一截止到今天1405分,美国金牌数增长非常快,金牌直接追到38金,与中国持平,但中国银牌数,落下太多,奖牌总数只有87枚,美国已经达到111枚奖牌。下午,美国的夺金点太多,在8月8号国外LEAD联盟最精简的windows10win7操作系统做国外LEAD任务少不了跟操作系统打交道,一款好的操作系统离不开大小,有一些老一点的机器运行MSN上面的系统显得有点吃力,所以需要一款比较轻,不占内存的系统来改善这个问题,如果你本国外LEAD英文系统电脑时间chrome同步有时候我们做国外LEAD需要时间同步,如果不同步可能使用whoner这类工具的时候显示的不是百分之百,这样的环境去操作任务,心里总是很坎坷,今天分享一款这样的插件,可以根据你的IP手机不动都能系统崩溃,你怕了没?有句话叫人在家中坐,锅从天上来。这句话对部分三星用户来说恰当不过了。从5月23日凌晨开始,部分三星用户的手机出现系统崩溃的现象,表现出来就是黑屏乱码无限重启等情况。什么?现在还有人Kotlin编写DialogFragment音视频解析二这篇文章是继续上一篇讲解得,上一篇我们说了一下关于Kotlin解析音视频得内容,上篇主要说了关于整个项目得回调方法,这篇我主要说一下关于项目里面重要的几个对话框。第一个对话框,首先Flutter当中我们如何全局关闭键盘小技巧学习AndroidiOS可运行本头条核心宗旨欢迎来到技术刚刚好作者,技术刚刚好是个人维护,每天至少更新一篇Flutter技术文章,实时为大家播报Flutter最新消息。如果你刚好也在关注Flutter这门技术,Dart更新打包工具,项目依赖永远不会过时2020年5月6号,DartSDK2。8新版本发布了,在这期间关注该语言的人还是挺多的,增长速度惊人,到目前为止已经有数百万人在使用Flutter语言来开发跨平台软件,而今天这篇文Kotlin开发语言编写音视频FFMpeg解析音视频解析最近学习kotlin语言,学习了Google为什么又这个语言,这个开发语言的奥妙,学以致用程序员就是边学边用。今天我会讲解第一个接口FFMpegCallback这个接口有那些实现iuniapp支持PC版真正的一统天下来了全端支持不是梦uniapp已经支持iOSAndroidH5微信小程序阿里小程序百度小程序字节跳动小程序QQ小程序快应用360小程序。现在,uniapp终于官方支持PC宽屏!一套代码多端运行,这个uniCloud第一个云函数,小公司福利开发语言uniCloud挺方便的,轻松实现接口开发,而且也支持并发,大部分小公司刚起步是可以用这套技术方案的。毕竟创业公司刚起步,如果需要一个后端来开发,前端来开发成本很高,而且开发进度也各种爆款玩出圈!这届年轻人追捧的国潮,到底是什么?不知道大家发现没?最近几年,我们的衣服上多了刺绣元素盲盒中多了汉服品类,生活中随处可见国潮风。注重传统文化与当下潮流产品相融合,国潮风因此也越来越受年轻人的追捧。要说最著名的国潮莫
比亚迪半导体拆分上市获香港联交所通过这是一个群雄逐鹿的时代,尤其是对于中国半导体行业来说,稍有落后可能就被大浪淘沙。早前受发行律师北京天元律师事务所拖累的比亚迪半导体,上市进程被迫按下暂停键,但如今正火速恢复审核并加一嗨租车低碳租车成90后自驾游首选突如其来的疫情让不确定性成为常态,后疫情时代,人们的生活方式也发生了不少变化,大家对充满诗和远方的美好生活更加向往。一嗨出行研究院最新发布2021半年报,数据显示这半年来租车自驾出中国第一颗7nm制程的车规级SOC芯片今年以来,芯片短缺问题日趋严重,不仅影响到了数码产品的研发销售进度,甚至严重困扰汽车业,众多国内外车企因此多次减产甚至停产。近期,由于东南亚地区疫情反复,汽车芯片短缺状况进一步加剧雷达芯片短缺!传小鹏新车开启减配交付模式近年来,新能源汽车行业快速发展。Canalys预计2021年,电动汽车将占据全球新车销量的7以上,进一步增长66,销量将超过500万辆2028年,电动汽车的销量将增加加到3000万市值或超260亿美元!芯片代工巨头格芯登录纳斯达克近期美股IPO市场持续火热,当地时间10月28日,全球第三大芯片代工企业格芯正式登录美股。据文件显示,格芯及其主要股东穆巴达拉投资公司(Mubadala)将该公司股票的IPO发行价特斯拉市值破万亿大关,在华收入大增近80特斯拉周一收盘大涨12。66,报收1024。86美元,公司市值首次突破一万亿美元大关,达到了10267亿美元。继苹果亚马逊微软谷歌和脸书后,特斯拉成为美国股市历史上第七只市值超过一很适合年轻人的3款SUV,颜值高动力强,都是国产尖货文车魔王原创随着越来越多年轻人购买力的提升,整个汽车市场的消费年轻化趋势已经不可逆转。而摆在众车企面前的,如何尽快迎合这部分年轻消费者的购车需求自然是重中之重。当然,我们也能看到车开启预售模式,当前多家晶圆代工厂产能现货已售罄近年来,一年一度的双十一购物节模式已为普通消费者熟知。从去年底开始,半导体产业界也出现了不少疯狂购物和囤货现象,其中行情最为紧俏的晶圆代工产能的交易形式和双十一的预售定金销售模式还讴歌RDX优缺点解读号称ampampquot本田王ampampquot,为什么就是卖不动?文车魔王原创如果你是一个本田粉,那么没有理由不为讴歌这个品牌而感到兴奋。毕竟,比起越来越平庸的思域和飞度,讴歌身上还是有着它独有的骄傲之处。只不过,相比于雷克萨斯,同样是日系的高端雷柏V330游戏鼠标新品抢先看,是实力大咖,也是特点鲜明的奇咖雷柏游戏智造游戏快乐Rapoo雷柏,成立于2002年,外设行业上市公司,国家级高新技术企业,首批国家智能制造试点示范企业。雷柏游戏外设,2008年推出首款游戏产品,迄今已成功打造高轻舒加倍,听声辨位精准,雷柏VH160虚拟7。1游戏耳机,新品上市虚拟7。1时空已开启,欢迎来到沉浸世界。枪林弹雨,是否暗藏重重杀机,前方捕捉到脚步挪动声,跟着雷柏VH160一探究竟。虚拟7。1声道,50MM大单元发声喇叭,ENC降噪全指向麦克风