后台go

项目地址: 链接

go

  • 使用xorm 根据数据生成model

如下命令,会在当前目录的Models目录下生成struct.go文件,所有结构体都在一个文件中
xorm reverse -s mysql “user:password@(ip:port)/dbname?charset=utf8” work/src/github.com/go-xorm/cmd/xorm/templates/goxorm

默认情况下,gorm只会查询单个表,也就是只会填充单个结构体。如果想同时填充嵌套的结构体,改用Preload方法:

  1. db.Preload("Profile").Find(&user,1)

gorm 使用limit,offset,cout实现分页

import ( “fmt” “github.com/jinzhu/gorm” _ “github.com/jinzhu/gorm/dialects/mysql” )

type User struct { gorm.Model Name string gorm:"default:''" IsMan bool gorm:"not null;default:false" Price *int gorm:"default:0" }

func main() { db, err := gorm.Open(“mysql”, “root:root@/gormdb?charset=utf8&parseTime=True&loc=Local”) defer db.Close() if err != nil { panic(err) }

defer db.Close() //生成数据库表 //db.AutoMigrate(&User{})

//db.Create(&User{Name:”shijia1”})

var users []User

var page int = 2 var pageSize int = 5 var total int = 0

// 获取取指page,指定pagesize的记录 db.Where(“price >= ?”,0).Limit(pageSize).Offset((page-1)*pageSize).Order(“created_at desc”).Find(&users)

// 获取总条数 db.Model(&User{}).Where(“price >= ?”,0).Count(&total) fmt.Println(users,”总数:”,total) } ```

vue3