Closed axengine closed 11 months ago
1、以order服务homestayOrderModel为例,生成了包括Trans、SelectBuilder、FindSum等方法,这些方法是如何生成的? 2、对于一些复杂的SQL查询,例如多张表的查询,在go-zero中是怎么操作的?是否可以使用gorm、xorm等去实现?
homestayOrderModel interface { Insert(ctx context.Context, session sqlx.Session, data *HomestayOrder) (sql.Result, error) FindOne(ctx context.Context, id int64) (*HomestayOrder, error) FindOneBySn(ctx context.Context, sn string) (*HomestayOrder, error) Update(ctx context.Context, session sqlx.Session, data *HomestayOrder) (sql.Result, error) UpdateWithVersion(ctx context.Context, session sqlx.Session, data *HomestayOrder) error Trans(ctx context.Context, fn func(context context.Context, session sqlx.Session) error) error SelectBuilder() squirrel.SelectBuilder DeleteSoft(ctx context.Context, session sqlx.Session, data *HomestayOrder) error FindSum(ctx context.Context, sumBuilder squirrel.SelectBuilder, field string) (float64, error) FindCount(ctx context.Context, countBuilder squirrel.SelectBuilder, field string) (int64, error) FindAll(ctx context.Context, rowBuilder squirrel.SelectBuilder, orderBy string) ([]*HomestayOrder, error) FindPageListByPage(ctx context.Context, rowBuilder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*HomestayOrder, error) FindPageListByPageWithTotal(ctx context.Context, rowBuilder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*HomestayOrder, int64, error) FindPageListByIdDESC(ctx context.Context, rowBuilder squirrel.SelectBuilder, preMinId, pageSize int64) ([]*HomestayOrder, error) FindPageListByIdASC(ctx context.Context, rowBuilder squirrel.SelectBuilder, preMaxId, pageSize int64) ([]*HomestayOrder, error) Delete(ctx context.Context, session sqlx.Session, id int64) error }
goctl 有template概念,可以自定义模版 goctl template文档:https://go-zero.dev/docs/tutorials/cli/template looklook的模版地址:https://github.com/Mikaelemmmm/go-zero-looklook/tree/main/deploy/goctl 模版要跟goctl版本号对应上才可以
1、以order服务homestayOrderModel为例,生成了包括Trans、SelectBuilder、FindSum等方法,这些方法是如何生成的? 2、对于一些复杂的SQL查询,例如多张表的查询,在go-zero中是怎么操作的?是否可以使用gorm、xorm等去实现?