5

我最近有点厌倦了使用 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 的想法。

4

3 回答 3

2

与简单地写出 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

});
于 2012-07-31T22:52:50.617 回答
1

如果您可以使用 Backbone.js 或 Can.js(推荐)之类的东西来做您的接口并通过 RESTfull 服务与您的数据库无缝通信,如果您以前没有见过它,您会印象深刻。

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

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

于 2012-07-31T22:52:48.487 回答
0

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

于 2015-02-17T23:17:52.593 回答