一、前面介绍
前端使用node
进行web
开发,涉及到数据库的操作,我们常用的方法有
针对前端小伙伴来说,不会原生sql
语句的话,只能花时间去学习一些orm
库的使用,但是本人不推荐使用orm
。
orm
的初心很好,它试图完全将对象和数据库映射自动化,让使用者不再关心数据库。过度的封装一定会带来另外一个问题——隐藏复杂度的上升。个人觉得,比起查询语句,隐藏复杂度更可怕。有很多漂亮的orm
框架,比如java
界曾经非常流行的hibernate
,功能非常强大,社区也很火,但实际在生产中使用的人却很少,反倒是一些简单、轻量的被大规模应用了。而且互联网应用,对性能的要求较高,因此对sql
的控制也需要更直接和精细。很多互联网公司也不推荐使用外键,因为db往往是瓶颈,关系的维护可以在应用服务器做,所以orm
框架对应关系的定义不一定能用得上,加上如果你一直都是使用orm
的话,你慢慢的会忘记原生sql
语句
二、关于ali-rds-async
的介绍
在使用egg
框架的时候使用过egg-mysql
连接数据库的方式,我本人觉得不错的,于是查看底层是使用阿里的一个ali-rds,但是是使用的genterator
方式书写的,ali-rds-async,仅仅是使用了typescript
与co
模块将generator
改成promise
的方式
三、主要实现的方法
-
query
使用原生sql
语句 -
insert
插入语句 -
update
更新单条语句 -
updateRows
更新多条语句 -
get
获取一条数据 -
select
查询数据 -
delete
删除数据 -
count
计数 -
beginTransaction
事务