@
zhengfan2016 sqlc 生成代码的方式、性能当然是最好的,但也有不方便,比如一个 tx 、后续 tx 多个操作、操作之间还有一堆其他代码逻辑,这种如果修改功能之类的,也是麻烦。sqlx 、ent 我也都觉得不好用,所以我自己搞了个 sqlw ,raw sql+自动的 struct 绑定,日常用着省力多了。比如:
model := Model{
I: 1,
S: "str_1",
}
result, err := db.Insert("insert into sqlw_test.sqlw_test", &model) // 也可以 insert []model
// result, err := db.Insert("insert into sqlw_test.sqlw_test(i,s)", &model) // insert the specified fields
if err != nil {
log.Panic(err)
}
var models []*Model // type []Model is also fine
result, err = db.Select(&models, "select * from sqlw_test.sqlw_test")
// result, err = db.Select(&models, "select (i,s) from sqlw_test.sqlw_test") // select the specified fields
if err != nil {
log.Panic(err)
}