后台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
gin-swagger 生成 https://www.liwenzhou.com/posts/Go/gin_swagger/
gorm 关联查询
默认情况下,gorm只会查询单个表,也就是只会填充单个结构体。如果想同时填充嵌套的结构体,改用Preload方法:
db.Preload("Profile").Find(&user,1)
gorm 使用limit,offset,cout实现分页
- 参考地址: https://blog.csdn.net/sss996/article/details/93891503
- 分页实例 ```go package main
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
- 参考vue2 动态路由 http://newdemome.cn/archives/vue-router-x