转载自:http://vicdory.com/node-orm-framework-orm2.html
习惯了Java中的Hibernate,在使用Node时老是写SQL语句很不爽,最近找到了一个比较好用的Node.js ORM框架,名字也很霸气,叫做ORM2,github地址是https://github.com/dresende/node-orm2.
下面举几个ORM2的基本用法,相信看完后就能在Node项目直接使用。
连接数据库
ORM2支持MySQL、PostgreSQL、Amazon Redshift、SQLite四种数据库
var orm = require("orm");
orm.connect("mysql://username:password@host/database",
function (err, db) {
// ...
});
当然规范点应该搞个DB配置文件
var opts = {
database: "yourdb",
protocol: "mysql",
host: "127.0.0.1",
username: "root",
password: "root",
query: {
pool: true,
},
};
orm.connect(opts, function(err, db) {
// ...
});
定义Model
ORM最重要的一步应该是定义Model,很简单,在连接MySQL后的回调中使用db定义一个Model类
db.define('User', {
name: String,
email: String,
password: String,
}, {
id: "uuid",
});
在这里可以指定属性的类型、长度、是否可空等选项。
同步数据库
//同步User表
User.sync(function (err) {
console.log("done!");
});
//也可以使用db.sync()同步所有表
CRUD操作
定义Model后,增删改查就会很简单的了
//插入数据
User.create([{
name: 'a',
email: 'a@a.com',
password: 'aa',
}, {
name: 'b',
email: 'b@b.com',
password: 'bb',
}], function(err, items) {
// pass
});
//查找数据
User.find({
name: "admin"})
.limit(3)
.offset(2)
.only("name", "email")
.run(function(err, data) {
//非常漂亮的链式风格有木有~~~
//查询name为admin的用户,跳过前2个,保留3个结果而且只需要返回name和email字段
});
//更新、删除数据
//更新db只需调用save即可
SomeOne.save(function(err) {
console.log("done!");
});
//删除
SomeOne.remove(function(err) {
console.log("done!");
});
//上面的SomeOne实例必须包含了uuid属性。
基本的用法就是这样子了,高级的用法还有Model之间的对应关系,一对多,多对多什么的,可以参考官网的Associations。
本文介绍了Node.js ORM框架ORM2的基本用法,包括连接数据库、定义Model、CRUD操作等核心功能。通过简洁的示例代码,帮助开发者在Node项目中高效实现数据操作。
1万+

被折叠的 条评论
为什么被折叠?



