Spring Framework优化SQL连接?

时间:2012-07-02 20:29:40

标签: javascript sql spring database-connection

所以我在一个成功连接到SQL数据库并从中读取的webproject。连接到它的代码看起来像这样。

//From Here
var connection = new ActiveXObject("ADODB.Connection") ;
var connectionstring="Data Source=<server>;Initial Catalog=<catalog>;User ID=<user>;
Password=<password>;Provider=SQLOLEDB";
connection.Open(connectionstring);
var rs = new ActiveXObject("ADODB.Recordset");
//To Here

rs.Open("SELECT * FROM table", connection);
rs.MoveFirst
while(!rs.eof)
{
document.write(rs.fields(1));
rs.movenext;
}

rs.close;
connection.close;

简单有效,我工作正常。但是那些前4个(从这里标记到这里)运行速度非常慢,每次我需要读取或写入sql数据库时我都需要重新连接...这对我的项目来说很重要。因此,每次我运行此代码(在我在此项目中创建的每个其他网页上)时,我都必须等待此代码运行。

我被告知/需要该项目,使用javascript和spring框架配置设计。显然,有一种方法可以保持连接,所以每次我去新页面时都不需要运行这个代码,或者b)连接到SQL数据库的不同方法(取代那些4代码行。这两者都与我使用Spring Framework有关。

我之前从未使用过Spring Framework,需要快速学习。一直在看他们的网站教程,但仍然不知道该做什么或怎么做。如果有任何想法,请告诉我。

请和谢谢。

2 个答案:

答案 0 :(得分:0)

我认为你在这里遇到了一些问题:你不应该从JavaScript访问你的数据库,因为任何用户都可以通过这种方式访问​​任何数据,或删除所有数据。

您应该只访问数据库服务器端。

答案 1 :(得分:0)

您需要连接池,这意味着,不是每次都打开和关闭新连接,而是保持您即将关闭的连接,并查看以后是否可以重复使用它。

不幸的是,我从未在JavaScript中看到任何允许您跨页面重用对象的内容,因此在JavaScript中无法做到这一点。无论如何,从浏览器直接连接到数据库被认为是一种非常糟糕的做法。

通常,您要做的是在其间放置一个java或C#应用程序服务器,并使用连接池将这些服务器访问数据库。然后,从您的javascript,您对应用程序服务器进行AJAX调用,该服务器将使用连接池,并返回例如JSON对象。

参见例如http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html#MySQL_DBCP_Example