一、前面介绍
前端使用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事务