SQLKit
GO程序的多用途SQL程序包。
在golang中使用SQL在某些方面具有挑战性。 我遇到的一些主要挑战是:
sql包处理NULL值的方式要求在通常只使用零值的地方使用指针。
缺少嵌套事务,这在尝试包装整个测试或处理更复杂的事务时非常有价值。
缺少简单且可扩展SQL构建器。
该项目旨在解决其中一些问题。 它在很大程度上受到sqlx 影响,但是对于在项目中应如何使用SQL拥有更多的见解。
查看以查看使用该项目的示例。
状态
该项目目前处于ALPHA状态。 api对于encoding包来说相对稳定,但对于db包可能会改变。
版本控制
该项目遵循语义版本控制。 api稳定在1.0.0后,将尽最大努力保持向后兼容性。
配套
封送与SQL之间的结构。 优雅地处理空值。
cols , vals , err := encoding . Marshal ( user { 1 })
_ , err = db . Exec (
"insert into users (" + strings . Join ( cols , "," ) + ") values " + "(?)"
1