javascript客户端ORM的框架

Frameworks for javascript client side ORM?

本文关键字:框架 ORM 客户端 javascript      更新时间:2024-06-20

我最近有点厌倦了使用JSON/Rest服务,并在服务器上手动键入对数据库执行基本CRUD操作的方法。

我想做的是在javascript(基于ajax的应用程序)中做一些形式的事情

var allStudents = students.getAllStudents(); // returns all items of the students table
var student = new student();
student.name = "Joe";
student.address = "123 Sesame st";
students.add(student); // commits it to the students table
var student = students.getStudentById(57);

现在,作为任何ORM,所有这些方法都将自动/为我编写。

还要注意,我并不是说Javascript应该直接与数据库对话。它会仍然执行Restful调用(在后台对服务器)。但我只想这些crud操作对我来说是自动化和透明的,这样我就不需要在服务器上手动写出这些。

你们知道有什么框架可以帮助实现这一点吗?

我的主要后端是Java/Spring3MVC。但我也想听听使用Node.js可能。

与简单地编写RESTful ajax请求相比,我还没有决定这是否能节省时间,但Dojo的JsonRest存储是我见过的一个解决方案,它的工作原理与您所描述的类似。就我个人而言,我发现显式编写ajax请求更具可读性,但如果您不介意遵循Dojo关于如何构建请求的理念,您可能会喜欢这样。无论如何,这里有一些来自文档页面的代码:

require(["dojo/store/JsonRest"], function(JsonRestStore){
  var store = new JsonRestStore({target: "/Table/" });
  store.get(3).then(function(object){
    // use the object with the identity of 3
  });
  store.query("foo=bar").then(function(results){
    // use the query results returned from the server
  });
  store.put({ foo: "bar" }, { id: 3 }); // store the object with the given identity
  store.remove(3); // delete the object
});

如果你能使用Backbone.js或can.js(推荐)这样的东西来做你的接口,并通过RESTfull服务与你的数据库无缝通信,如果你以前从未见过它,你会留下深刻印象。

http://backbonejs.org/http://canjs.us/

两者都使用了一种非常容易设置的MVC结构。看看演示和示例。

在寻找同样的东西时,我偶然发现了sproutcore记录。看起来像一个javascript orm解决方案。