Spring数据库连接配置过程

时间:2014-08-26 11:43:36

标签: java mysql spring spring-mvc glassfish

对于你们中的一些人来说,这可能是一个非常简单的问题,尽管我需要帮助理解我的Spring MVC应用程序(目前在Glassfish 4和MySQL上运行)之间建立数据库连接的过程。这样做的步骤是什么?我在下面概述了我的想法,但是我仍然不清楚这个过程。

到目前为止,我已在Glassfish 4管理面板中创建了一个JDBC连接池,并使用已定义的参数成功连接; ping返回成功。我现在需要创建一个JNDI数据源,因为我认为这是连接到数据库连接池所必需的吗?

如果这是迄今为止的正确步骤;接下来会执行哪些步骤?我的假设是需要配置web.xml以便链接到JNDI DataSource?这是对的吗?

我们将非常感谢您的协助。

[增订]

我已经想到这一切,现在一切都按预期执行。但是,我遇到了一个含义,我不太明白为什么连接不想在某一点上运行。

这是我在web.xml中的配置,我遇到了以下问题:

<resource-ref> <res-ref-name>jdbc/application</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>

尝试从我的某个表中提取记录时,我收到了所有类型的错误。错误消息类似于:

  

“javax.servlet.jsp.JspException:无法获得连接,DataSource   invalid:“java.sql.SQLException:分配连接时出错。   原因:无法分配连接,因为:   java.net.ConnectException:连接到服务器localhost时出错   港口1527“

虽然我找到了解决方案,但我在web.xml中的父<mapped-name>元素中包含了<resource-ref>元素

这是我应用更新后文件的内容:

<resource-ref> <res-ref-name>jdbc/application</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> <mapped-name>jdbc/application</mapped-name> </resource-ref>

<mapped-name>节点做了什么允许我正确建立此连接?我的假设是找到并将它映射到正确的JNDI记录,尽管我认为这个映射是由最初定义的:<re-ref-name>元素执行的。

请提出意见,我们将对此作出解释。

1 个答案:

答案 0 :(得分:0)

我现在需要创建JNDI数据源吗?

这不是强制性的,但也是有利的。您可以像对象一样访问数据库。 (JNDI / YourDatasource)

如果这是迄今为止的正确步骤;接下来会执行哪些步骤?我的假设是需要配置web.xml以便链接到JNDI DataSource?这是对的吗?

在这种情况下,App服务器可能会有所不同。 web.xml是一个选择或sun-resources.xml