什么是GORM
GORM是一个基于Go语言的ORM(对象关系映射)库,它可以让你用简单的API操作数据库,而不需要写复杂的SQL语句,它能够简化数据库操作,提供了方便的方法来执行增删改查操作。。GORM支持多种数据库,如MySQL, PostgreSQL, SQLite等。
基本操作
首先,确保你已经安装了 GORM 库,你可以通过以下命令进行安装:
go get -u gorm.io/gorm
go get -u gorm.io/driver/sqlite
导入GORM库和相应的数据库驱动:
import ("github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/mysql")
使用gorm.Open()函数打开数据库连接,传入数据库类型和连接字符串:
db, err := gorm.Open("mysql", "user:password@/dbname?charset=utf8&parseTime=True&loc=Local")
定义一个结构体,用来映射数据库表的字段和类型,可以使用gorm:""标签来指定额外的属性,如主键、列名、默认值等:
type User struct {ID int gorm:"primary_key"Name stringgorm:“size:255” Age int}
定义一个结构体,用来映射数据库表的字段和类型,可以使用gorm:""标签来指定额外的属性,如主键、列名、默认值等:
type User struct {ID int gorm:"primary_key"Name stringgorm:“size:255” Age int}
使用db.Create()函数插入数据,传入一个结构体的指针:
user := User{Name: "Alice", Age: 18} db.Create(&user)
使用db.Delete()函数删除数据,传入一个结构体的指针或者条件表达式:
db.Delete(&user)或者db.Where("name = ?", "Alice").Delete(User{})
使用db.Update()函数更新数据,传入一个结构体的指针或者键值对:
user.Name = "Bob" db.Update(&user)或者db.Model(&user).Update("name", "Bob")
使用db.Find()函数查询数据,传入一个结构体的指针或者条件表达式:
var users []User db.Find(&users)或者var user User db.Where("name = ?", "Bob").First(&user)
小结
GORM提供了单易用的 API,使得数据的增删改查等操作变得简单明了使得数据库的变更管理变得简单,无需关注数据库的底层细节。又学到一个好用的工具!