Golang GORM使用

gorm

gorm是go语言中实现数据库访问的ORM(对象关系映射)库。使用这个库,我们可以利用面向对象的方法,更加方便的对数据库中的数据进行CRUD(增删改查)

基本使用

下载依赖

go get github.com/jinzhu/gorm
go get github.com/go-sql-driver/mysql

第一个是核心库。

第二个是mysql驱动包。

连接数据库

package main

import (
"fmt"
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/mysql"
) func main() {
db,err := gorm.Open("mysql","root:root@tcp(192.168.40.10:3306)/wang") if err != nil{
fmt.Println(err)
return
} else {
fmt.Println("connection success")
} defer db.Close()
}

  

新增数据

type User struct {
ID int `gorm:"primary_key"`
Name string `gorm:"not_null"`
} func add() {
user := &User{Name:"zhangsan"}
db.Create(user)
}

删除数据

user := &User{ID:1}
db.delete(user)

更新数据

user := &User{ID:1}
db.Model(user).update("Name","lisi")

查询数据

// query all
var users []User
db.Find(&users)
fmt.Println(users)
// query one
user := new (User)
db.First(user,1)
fmt.Println(user)

其它

判断数据库中是否有结构体对应的表:
db.HasTable(User{})
创建表
db.CreateTable(User{})

以上就是gorm基本的用法。

作者:刘昊2018
链接:https://www.jianshu.com/p/9b906b62b2cc
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

最新文章

  1. Android EditText使用详解
  2. CSS中zoom:1的作用 ,小标签大作用
  3. svn自动更新
  4. UVa 10082 WERTYU
  5. 如果Apache Spark集群中没有分布式系统,则会?
  6. 使用FlashFXP V3.8烈火汉化绿色版软件连接Linux
  7. jQuery+css+div一些值得注意的常用语句
  8. 状压DP uvalive 6560
  9. iOS开发——网络编程Swift篇&(四)异步Get方式
  10. ubuntu14.04LTS更新源
  11. Objective-C内存管理教程和原理剖析(三)
  12. iOS很重要的 block回调
  13. 【G】开源的分布式部署解决方案(三) - 一期规划定稿与初步剖析
  14. Vulkan Tutorial 15 Framebuffers
  15. sublime3配置php环境
  16. Java技术分享:如何编写servlet程序
  17. 《c++ const 详细总结》--转载
  18. 问题:这个新申请的内存为什么不能free掉?(已解决)
  19. Android Toast 工具类
  20. Tomcat的简单归纳总结

热门文章

  1. Javaweb应用中配置错误跳转页面
  2. ajax之---“伪”ajax
  3. 居然仅用浏览器,就完成了Spring Boot应用的开发与部署!
  4. 软件工程与UML作业2
  5. python类中的__init__和__new__方法
  6. 基础篇:详解JAVA对象实例化过程
  7. 原生JavaScript封装的jsonp跨域请求
  8. PCA基本原理
  9. Linux一些基础命令
  10. 089 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 使用包进行类管理(1)——创建包