go操作mysql数据库

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

来源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。