古老的榕树

对 sqlx 误解的澄清

潘军杰 发表于 2016-02-17 15:51 阅读(5000) 评论(4) 赞(0)
上次在《Go 数据操作之 grop 和 sqlx》上说,使用 sqlx 过程中,对它产生一些误会,其实当时是拿它与 gorp 做比较,本身 gorp 是一个半自动型的 orm 库,而 sqlx 并不是在 orm 范畴。便利性没有比拟性的。

sqlx 有它的应用场合,因为使用它连接数据库,很简单,不用配置 struct 实体关联到表,直接可以把执行 sql 的结果(结果集)填充到自己期望的实体中,这个过程可以避免不同的实体之间的来回转换,有利于清晰化项目的实体结构,减少没必要的附加实体。这个和 gorp 有明显的差别,gorp 必须指定一个实体对应数据库的表,指定主键等信息。现在移动终端的接口开发,如果需要轻量的数据库操作库,sqlx 还是相当完美的,特别是读多于写操作的时候。

另外 sqlx 操作数据控制得更细致,追求更高的读性能;同样也具备 select get 获取结果集合和结果个体的快捷方法;当然,如果进行写数据操作,可能要繁琐些,exec 方法比较原始,适合做二次封装,再使用。

个人建议 gorp 和 sqlx 同时使用。

标签: sqlx sql gorp 数据库
4 条网友评论

1 楼: Fengz 发表于 2016-08-14 15:35:04   回复 TA

搜索进入了这个,这个文章节省了我很多时间,谢谢。 我目前会选用 sqlx ,因为我要对现成系统做二次开发,没太多心思去定义结构体,所以就不能用 orm。 后续我会试一下您推荐的 gorp和sqlx共用。 谢谢。

2 楼: 龅牙驴 发表于 2016-08-18 00:35:27   回复 TA

引用"Fengz"的评论

搜索进入了这个,这个文章节省了我很多时间,谢谢。 我目前会选用 sqlx ,因为我要对现成系统做二次开发,没太多心思去定义结构体,所以就不能用 orm。 后续我会试一下您推荐的 gorp和sqlx共用。 谢谢。
谢谢支持!

3 楼: wencan 发表于 2018-08-04 12:05:51   回复 TA

那么问题来了,如何共用?能分享下你的方案吗?

4 楼: 龅牙驴 发表于 2018-08-04 12:05:51   回复 TA

引用"wencan"的评论

那么问题来了,如何共用?能分享下你的方案吗?
其实也不难,分别实例化 sqlx 和 gorp 的 db 对象,按需来用就行了!
称呼*
邮箱*
内容*
验证码*
验证码 看不清换张