1

我有一些 Java 控制台应用程序。它们使用 Hibernate 来处理一些数据库的东西(我使用 MySQL)。现在,我希望 Hibernate 使用来自 Tomcat 上下文的数据源。谁能告诉我怎么做?

4

1 回答 1

1

Tomcat wiki 包含所需的配置。

在 context.xml 中:

<?xml version="1.0" encoding="UTF-8"?> <Context antiJARLocking="true" path="/DVDStore">
  <Resource auth="Container"
  driverClassName="com.mysql.jdbc.Driver" maxActive="30" maxIdle="10" maxWait="10000" name="jdbc/sakila" password="*****"
  type="javax.sql.DataSource" url="jdbc:mysql://localhost/sakila" username="*****"/>
</Context>

在 WEB-INF/web.xml 中。

<resource-ref>
  <description>This is a MySQL database connection</description>
  <res-ref-name>jdbc/sakila</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
</resource-ref>

在 hibernate.cfg.xml 中:

<!-- using container-managed JNDI -->
<propertyname="hibernate.connection.datasource">
   java:comp/env/jdbc/sakila
</property>

您可以在TomcatHibernate Wiki中找到更多信息


编辑:

如果您想直接访问上下文,这是有问题的方法

    ServletContext sc = getServletContext();  
    String parameterValue = sc.getInitParameter("parameterName");
于 2012-02-03T16:15:12.500 回答