第十四章 go语言操作数据库

目前用的比较多的是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)

}

  

 

posted @ 2023-07-17 16:48  郎小乐  阅读(32)  评论(0)    收藏  举报