我一直在努力决定组织SQL查询和代码的最佳方法。
现在我的包中有一个models/
文件夹,其中包含我的所有表,每个表都在自己的.go
文件中,其中包含与数据库表匹配的结构。
我一直把我的代码弄得乱七八糟,因为扔掉了大量的sqlQueries,特别是对于事务,什么不是。
我如何构建我的代码,而不会乱丢SQL查询。
(我不想用ORM来完成这个)
答案 0 :(得分:1)
您可以实现类似cookie
的内容。
来自EAA目录的示例:
Go:
模型/ person.go
type Person struct {
Lastname string
Firstname string
Dependents int
}
映射器/ person.go
package mapper
import m "whatever/model"
type PersonMap struct { }
func (m *PersonMap) Insert(p *m.Person) error {
// SQL query
return nil
}
func (m *PersonMap) Update(p *m.Person) error {
// SQL query
return nil
}
func (m *PersonMap) Delete(p *m.Person) error {
// SQL query
return nil
}
但是,该解决方案只是解决方案的一部分。关于数据库事务,我认为你应该从另一个"层"。
管理它们