介绍
sqlm 是一个针对前端的 SQL 查询库,它使用 Promise 风格调用 API,可以进行命令式 SQL 查询构建,同时支持参数化查询和无需要预编译的查询。sqlm 基于 MySQL 数据库,并且支持主从多节点集群环境。
安装
使用 npm 命令进行全局安装:
npm install -g sqlm
使用说明
在使用 sqlm 之前,需要通过以下方法创建连接对象:
-- -------------------- ---- ------- --- ---- - ---------------- --- ---- - ----------------- ----- ------------ ----- ------- --------- --- --------- ------- ----- ----- ---------------- -- ---
在创建连接对象之后,就可以使用 sqlm 的 API 进行数据库查询操作。以下是两个简单的示例:
参数化查询示例代码
-- -------------------- ---- ------- --- --- - ------- - ---- ----- ----- ------ -------------------------------- ----------- - -- ----- ----- ---- --------------------- ---- ------------- -------- - --------------------- -- ----- ----- ---- --------------------- --- ---
无预编译查询示例代码
-- -------------------- ---- ------- --- --- - ------- - ---- ----- ----- ------ -------------------------------- ----------- - -- ----- ----- ---- --------------------- ------------- -------- - --------------------- -- ----- ----- ---- --------------------- --- ---
深入学习
sqlm 的函数式 API 非常灵活,它支持以下的查询方法:
pool.getConnection(callback)
获取指定数据库的连接,在回调函数中返回连接对象。可以使用的回调参数包括 err 和 connection。
connection.query(sqlString, [inputs], callback)
执行查询操作,如果有查询结果则返回 rows (行集) 。可以使用的回调参数包括 err 和 rows。
connection.beginTransaction(callback)
启动事务,并在回调方法中返回一个可用的连接对象。
connection.commit(callback)
提交活动事务,并在回调函数中返回已提交的结果。
connection.rollback(callback)
在回调函数中回滚未提交的事务。
connection.release()
释放一个未使用的连接,并将连接返回到连接池。
connection.destroy()
完全销毁连接,意味着无法再使用。
以上列举的方法都是 Promise 风格的 API,因此可以通过 then() 和 catch() 方法进行链式调用。在学习使用 sqlm 的时候,还需学习和理解 MySQL 存储和查询语法。
使用建议
为了得到更好的性能,我们建议以下几点:
- 提交事务后立即释放连接。(如果没有事务,请立即释放连接。)
- 在应用程序启动时建立连接。
- 启用与所需数量相同的连接限制。(不要使用过多的连接。)
- 在发生错误时捕获并释放连接。
结论
sqlm 是一个非常好用的前端 SQL 查询库,它可以帮助开发人员更轻松地进行数据库操作,提高了开发效率。在开发应用程序时使用 sqlm,不仅可以更好的理解和使用 SQL 语言,还能够帮助开发人员更好地优化应用程序性能。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600670a78ccae46eb111f2b7