top

数据库模块

负责SQLite数据的初始化、连接、增删改查等操作。

其他模块通过channel的方式与数据库交互,按照是否需要返回结果分为两种。

1. 不需要返回结果的,如更新、删除操作:其他模块构造一个带有参数的结构体通过channel发送到db 模块,模块内部转换为sql语句执行。执行的结果不再通知调用方,如果出错进行日志记录。

2. 需要返回结果的:首先向调用方返回一个channel, 调用方在这个channel上等待数据库执行结果。

使用channel与其它模块进行交互主要是线程安全的原因,保证同一时刻只有一个数据库操作。

Imports 1 package(s)

  1. github.com/mattn/go-sqlite3