马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
OutPath: “…/dal/query”,
ModelPkgPath: “…/dal/model”, // 默认环境下会跟随OutPath参数,在同目次下天生model目次
/* Mode: gen.WithoutContext,*/
})
// 复用工程本来利用的SQL毗连设置db(*gorm.DB)
// 非必须,但假如必要复用毗连时的gorm.Config或必要毗连数据库同步表信息则必须设置
g.UseDB(db)
peopleTbl := g.GenerateModelAs(“people”, “People”) // 指定对应表格的结构体名称
// 为指定的结构体或表格天生底子CRUD查询方法,ApplyInterface天生结果的子集
g.ApplyBasic(
model.User{},
peopleTbl,
)
// 为指定的数据库表实现除底子方法外的相干方法, 同时也会天生ApplyBasic对应的底子方法
// 可以以为ApplyInterface方法是ApplyBasic的扩展版
g.ApplyInterface(func(model.SearchByTenantMethod,model.UpdateByTenantMethod) {}, // 指定方法interface,可指定多个
model.Order{},
g.GenerateModel(“Company”), // 在这里调用也会天生ApplyBasic对应的底子方法
)
// 实行并天生代码
g.Execute()
}
3. 底子查询
实行天生代码后,GEN 会资助天生底子的查询方法,而且绑定到结构体上,可以直接调用函数查询获取查询结果,不必要提前界说变量,参数和结构体字段范例绑定,防止研发过程中误用。
u := query.Use(db).User
u.WithContext(ctx).Select(u.Name, u.Age).Create(&user)
// INSERT INTO users (name,age) VALUES (“modi”, 18)
user, err := u.WithContext(ctx).Where(u.Name.Eq(“iDer”),u.Age.Gte(18)).First()
// SELECT * FROM users WHERE name = “iDer” and age>=18;
_, err := u.WithContext(ctx).Where(u.ID.Eq(12)).Update(u.Name, “jinzhu”)
// UPDATE users SET name=“jinzhu”, updated_at=‘2013-11-17 21:34:10’ WHERE id=12;
e.With
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金 |