当前位置:   article > 正文

golang mysql封装_使用golang封装我们自己的sql框架

go mysql 需要封装吗

1. 导入相关包

database/sql: 这是一个对关系型数据库的通用抽象,它提供了标准的、轻量的、面向行的接口。

encoding/json: Go语言自带的JSON转换库。

go-sql-driver/mysql: 这是对database/sql的实现。

strconv: 对字符串和基本数据类型之间的转换。

strings:主要涉及字符串的基本操作。

b69d498aeb4933adfed17f0f1fb8dbe1.png

2. 定义结构体

*sql.DB: sql链接对象。

tableName: 表名。

field: 默认是"*",表示全部列名。

allFields: 数据库的全部列名。

where: where条件。

order: 排序。

limit: 限制条件。

4ee0545d7f794f2f102460c95a57ad8c.png

3. 定义几个辅助函数

3.1 in_array函数判断某个field是否在数据库的field中。

8d3689799f970a05524f01c8c346116c.png

3.2 构造返回值函数(errCode, result, msg)。

fb134846d4f0f066dbae6f102686d2d5.png

4. 创建Model结构体的构造函数

970baa9c67a1eef1e72aa9c31ec93b3c.png

5. 创建Model的方法,实现getConnect()和getFields()

5.1 getConnect()方法用于返回sql连接对象

762b6b69c2ba3e8102083dc5a4891e9b.png

5.2 getFields()方法用于搜集数据库所有的列名

52c9e9571203eb637170b208d2c8d879.png

6. Model一些基本成员方法的实现

6.1 Field()方法

21cf2155b905b0a9e0f0233d51a66057.png

6.2 Order()方法

8f00ff1e5579322e19e2b6a463ad32ee.png

6.3 Limit()方法

1ab1116eaece5d96aade477ff046fa66.png

6.4 Where方法

8f892def302a7c111a7d1d966aa1efea.png

6.5 count()方法

a75690810a08a7ec97a5c7ba2bb25222.png

7. Model结构体两个核心执行方法

7.1 查询query(),这个方法主要用来执行查询操作

bebb21b2ee487339611b1d317945eede.png

7.2 执行exec()方法,这个方法主要用来执行添加\删除\更新操作

1b70b076623d7452467c0e0069a514dc.png

8. Model结构体基本的增删改查方法

8.1 查询(查询数据库数据)

8.1.1 查询所有

de742abd8ea135bf47c976477ee03b20.png

8.1.2 根据条件查询一个

936009e820a21f52dc2f2a029380234d.png

8.2 增加(向数据库增加数据)

285d7c284b9a09ee28ba388700e81b4d.png

51c3af240065cfd9809883a0cfeaf570.png

81f6179c47c40487bf9ca6ebbb952769.png

78b315e7eda8163232c2cc93d1e73176.png

be32d06291951dd6e6e78df3ea7c3ba6.png

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/42801
推荐阅读
相关标签
  

闽ICP备14008679号