目前用的比较多的是GORM api文档地址
https://gorm.io/zh_CN/docs/index.html
package main
// 使用GORM链接和操作数据库步骤如下,
//1 导入GORM包 首先 在你的go项目中使用Go模块管理工具(go mod) 导入GORM包 可以通过如下命令来操作
// go get -u gorm.io/gorm
// go get -u gorm.io/driver/mysql
//2 链接数据库 在代码中导入GORM包之后,你需要设置数据库链接,以下是一个链接MySQL数据库的示例代码
import (
"fmt"
"gorm.io/driver/mysql"
"gorm.io/gorm"
"log"
)
//3 定义模型
type User struct {
ID uint `gorm:"column:id;primary_key;not null"`
UserName string `gorm:"column:user_name"`
Address string `gorm:"column:address"`
}
// 设置表名
func (User) TableName() string {
return "users"
}
func main() {
dsn := "root:vNDQRQ1UqnEvXZPXZRB+6w==@tcp(172.16.0.104:13049)/golang?charset=utf8mb4&parseTime=True&loc=Local"
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
panic("Failed to connect to database")
}
fmt.Println(db)
// add(db)
//query(db)
//update1(db)
// delete(db)
// page(db)
queryCount(db)
}
//添加
func add(db *gorm.DB){
user :=&User{UserName:"张三",
Address: "北京朝阳"}
result :=db.Create(&user)
fmt.Println(result.Error)
fmt.Println(result.RowsAffected)
}
//查询
func query(db *gorm.DB) {
var result User
db.First(&result,1235)
fmt.Println("为什么查询的都是一个",result)
}
//修改
func update1(db *gorm.DB) {
var user User
db.Model(&user).Where("id=1237").Update("user_name","lisa")
}
//删除
func delete(db *gorm.DB) {
db.Delete(&User{},1234)
}
//分页
func page(db *gorm.DB) {
var pageNo int =1
var pageSize int =5
var offset = (pageNo-1)*pageSize
var users []User
var err=db.Limit(pageSize).Offset(offset).Find(&users).Error
if err!=nil {
log.Fatal(err)
}
var i int
for i=0;i< len(users);i++ {
fmt.Println(users[i])
}
}
//查询条数
func queryCount(db *gorm.DB) {
var count int64
db.Model(&User{}).Count(&count)
fmt.Println(count)
}