nodejs mysql orm的orm哪个好用

node+mysql用啥orm框架比较好? - CNode技术社区
这家伙很懒,什么个性签名都没有留下。
node+mysql用啥orm框架比较好?要求稳定可,快。
据说 sequelize
,我也没用过- -只是知道
shelf也可以考虑了
sails的那个半成品
sequelize or
sequelize 足够了
sequelize,看看github上的star就知道了
sequelize 是个大坑,不推荐。用了几个之后综合评价 waterline 不错。
如果需求简单并且想自带缓存特性可以试试看 Toshihiko。
可以说下都遇到了什么坑么?最近刚开始用,现在撤还来得及,多谢!
bug 炒鸡多,我反正是提了很多 issue 和 pr 了。因为实在没精力所以弃坑了。
天生对 waterline 这种大而全的 ORM/ODM 有排斥,担心因为功能复杂导致问题会更多。准备去看一波菊苣的 Toshihiko。
我建议你用strongloop ,这个框架及其给力,支持swagger集成,而且支持可视化UI编辑,model,可以直接编辑mysql数据的集成,自动生成对应的代码!
对,差不多就是这个意思。
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
服务器赞助商为
,存储赞助商为
,由提供应用性能服务。
新手搭建 Node.js 服务器,推荐使用无需备案的mysql的orm哪个好用 - CNode技术社区
早先开发一直直接使用node-mysql,
最近要新起一个项目,请问哪个orm好用,
找到下面这么多
Bookshelf - ORM for PostgreSQL, MySQL and SQLite3 in the style of Backbone.js.
Massive - PostgreSQL data access tool.
Mongoose - Elegant MongoDB object modeling.
Sequelize - Multi-dialect ORM. Supports PostgreSQL, SQLite, MySQL.
Waterline - Datastore-agnostic tool that dramatically simplifies interaction with one or more databases.
Iridium - A high performance MongoDB ORM with support for promises, distributed caching, preprocessing, validation and plugins.
OpenRecord - ORM for PostgreSQL, MySQL, SQLite3 and RESTful datastores. Similar to ActiveRecord.
orm2 - ORM for PostgreSQL, MariaDB, MySQL, Amazon Redshift, SQLite, MongoDB.
firenze - Adapter-based ORM for MySQL, Memory, Redis, localStorage and more.
node-mysql直接写SQL语句不好吗?
我一直就是直接写,现在想改变一下
研究了一下,orm2感觉比较轻巧
sequelize好,orm2坑太多。
我用 bookshelf,主要 knex 很强大灵活
我觉得orm系列有一点不好,我同事写一个update,需要先查询出来然后再save,不太好。
我们的项目也选择了sequelize,主要是文档完整齐全
sequelize 吧…看星星就知道了…而且…sequelize 有全测试用例ci…
bookshelf总感觉用起不习惯。
sequelize 有种rubyonrails的开发体验
sequelize模型需要手动声明字段,太麻烦,一个表几十个字段表示伤不起
怎么说呢…如果是已经有数据库表了…可以自动生成…
我博客就是用的sequelize,个人感觉不粗,之前用的orm2问题好多放弃了
我博客源码/9958/NEMBlog/
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
服务器赞助商为
,存储赞助商为
,由提供应用性能服务。
新手搭建 Node.js 服务器,推荐使用无需备案的求介绍mysql的轻量级orm框架 - CNode技术社区
最近在考虑使用封装好的ORM框架,主要是想简化写sql,也支持事务,不想写一大坨重复的代码.
使用过 sequelize 这个ORM框架,但是使用时发现没有原生的node-mysql这个查询快,
也打算使用 TribeDB 这个分库分表的框架,可惜不支持事务…
还看过一些orm,orm2,Waterline,Bookshelf的框架,但是感觉不是我想要的,
因此想问问大神们有啥更好更轻更快的orm框架介绍一下, 求介绍
( ?Д`)y━?~~
-------------------
黄金分割线 ---------------------
谢谢大神们的解答,小弟想再加少少要求,最好支持promise的同时
可能由于个人比较喜欢用join写sql, 所以想找一个有join方法的, 小弟任性, 莫怪
Toshihiko,
knex.js可以了把。。。
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
服务器赞助商为
,存储赞助商为
,由提供应用性能服务。
新手搭建 Node.js 服务器,推荐使用无需备案的用户名:王清培
文章数:139
评论数:297
访问量:536766
注册日期:
阅读量:1297
阅读量:3317
阅读量:435314
阅读量:1122769
51CTO推荐博文
ORM模型在现在的项目开发中用的还是比较多的,他的好坏我们就不讨论了,已学习为主吧;
ORM模型的大概思想就是实体与我们库中的表的对应关系,一个实体就好比表中的一行数据,将实体的操作视为对表的操作,如增、删、该、查就是对表的同样操作,我们只需要简单的封装一下就可以省很多的重复劳动,通过ORM模型对我们的代码的简洁程度还是有目共睹的,我们将对数据库的操作通过ORM转换后执行,前者我们省掉了很多复杂的SQL组装,后者其实是一样的只不过将SQL的组装通过ORM将MODEL的一些属性通过反射的方式获取然后拼接SQL去执行,在项目的数据库变更,很容易就切换了上下文的数据库访问代码,将诸如SqlConnection、SqlCommand之类的针对性的数据访问代码,封装起来实现简单灵活的访问,ORM模型确实为我们的开发提高了效率,下面我就用我写的简单的ORM模型来讲解一下ORM模型的大概实现方式和基本原理;
这是我测试数据库中的一张tb_user表,其中id是自动增长主键,下面我们就用这张表来讲解我是怎么通过ORM来实现对这张表的增、删、该、查的;
这是我项目中的与上图对应的MODEL,我用两个特性标记出MODEL中与表对应的信息,表名、列的主键、是否自增长;用这些特性的目的就是在ORM模型的核心部分拼接SQL代码时,在做删除、更新时知道那一列是对应数据库中的主键,在做增加时我要知道那些列是自增长的等等;
这是我的项目中的具体类型信息,本人已上传全部源码,为了便于大家学习我就简单的介绍一下这些类型具体是什么意思;
上图是两个项目,第一个CommandLib.Test是做测试使用的,里面有一个TB_user类型,它对应我库中的一张表;X.CommandLib是ORM模型的实现;我就从Data目录往下介绍一下,ColumnAttribute是MODEL的列特性信息,用来标识列是否是主键、自增长;DataSourceType是不同数据源类型枚举如:SqlServer、Oracle、OLEDB等;IDataParameterFactory是所有数据源操作时的IDataParameter接口的工厂,这样就可以很方便的切换不同数据源的操作参数类型;IDataSourceType是一个接口类型,这个接口的作用就是用来说明,不管是哪种数据源的操作对象都必须实现这一组规范,这样可以严格控制我们上层在调用的时候很顺手方便,在这个接口里面基本上就是对数据库的常用操作了;IDataSourceTypeFactory是一个IDataSourceType接口的工厂,这个工厂通过读取配置文件来确定当前程序的上下文使用什么类型的数据源操作对象;OledbSource是实现了IDataSourceType接口的Oledb数据源操作类;OracleSource也是实现了IDataSourceType接口的ORACLE数据源操作类;ORMHelper是核心ORM模型的实现,这里面就是所有的MODEL与SQL代码之间的转换实现;SQLServerSource也是实现了IDataSourceType接口的SQLServer数据源的实现;TableActionType是ORM模型在操作时需要确定当前对表的操作类型(增、删、改、查);TableAttibute是MODEL中的表信息特性,用来确定当前的MODEL是对应于库中的哪一站表;所有的类型就介绍完了,下面给出总体的结构图,以便读者对上图的结构很清晰明了;
下面我就简单讲解一下ORMHelper.cs实现细节,如果有兴趣可以下载源码学习;
ORMHelper.cs里面只有一个字段和一个只读属性,作用就是用来保存Model首次使用时,保存当前Model中的所有的主键信息;以便下次使用时我好方便的读取;
这是本人测试的例子,1.统一数据源封装实现,我们通过IDataSourceTypeFactory工厂获取当前上下问的数据源访问对象,其实我们上面也讲了,IDataSourceType是对数据源访问的封装实现(如:SqlConnection、SqlCommand、SqlParameter)已一个简单的对象呈现使用;
2.通过ORMHelper实现用MODEL插入数据,插入方法是一个泛型方法,大概的实现思路是这样的,我们通过反射读取传进来的Model实例中的各个特性信息,如表名称、列主键等;然后拼接SQL语句,执行,其实增、删、改、查都是同一个道理,在具体的拼接SQL的过程可能稍有不同;由于文章大小限制,本人上传源码以供大家学习使用;
全部源码:&本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:未分类┆阅读(0)┆评论(0)
17:55:01 17:55:23 10:05:12 09:08:05 08:53:04 08:53:15}

我要回帖

更多关于 nodejs mysql orm 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信