Java 设置与tomcat 7的数据库连接
我有一个使用MySQL、Spring和tomcat服务器的工作程序,但数据库连接在Spring-database.xml中:Java 设置与tomcat 7的数据库连接,java,mysql,spring,tomcat,Java,Mysql,Spring,Tomcat,我有一个使用MySQL、Spring和tomcat服务器的工作程序,但数据库连接在Spring-database.xml中: <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="baseController" class="com.afterguard.sailplanner.controller.BaseController">
<property name="dao" ref="daoImpl" />
</bean>
<bean id="daoImpl" class="com.afterguard.sailplanner.dao.DaoImpl">
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/sailplanner" />
<property name="username" value="sailplanner" />
<property name="password" value="sailplanner2" />
</bean>
</beans>
为了现在在服务器上部署此程序,我需要将此数据库连接带到服务器,例如context.xml order server.xml
如何设置tomcat 7服务器以连接到数据库并告诉我的应用程序数据库连接是在tomcat中设置的?应将数据库连接属性放入属性文件中,并根据需要更改属性文件中的值
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClass" value="${jdbc.driverClassName}" />
<property name="jdbcUrl" value="${jdbc.databaseurl}" />
<property name="user" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.databaseurl=jdbc:mysql://localhost:3306/sailplanner
jdbc.username=root
jdbc.password=root
并将此文件包含在xml中使用
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="ignoreUnresolvablePlaceholders" value="true" />
<property name="locations">
<list>
<value>classpath:applications.properties</value>
</list>
</property>
</bean>
类路径:applications.properties
应将数据库连接属性放入属性文件中,并根据需要更改属性文件中的值
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClass" value="${jdbc.driverClassName}" />
<property name="jdbcUrl" value="${jdbc.databaseurl}" />
<property name="user" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.databaseurl=jdbc:mysql://localhost:3306/sailplanner
jdbc.username=root
jdbc.password=root
并将此文件包含在xml中使用
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="ignoreUnresolvablePlaceholders" value="true" />
<property name="locations">
<list>
<value>classpath:applications.properties</value>
</list>
</property>
</bean>
类路径:applications.properties
您必须使用JNDI创建数据源:
首先,在Springbean配置(spring database.xml)中添加以下内容:
<beans:bean id="dbDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<beans:property name="jndiName" value="java:comp/env/jdbc/myDB"/>
</beans:bean>
其次,在文件apache tomcat/conf/server.xml中创建jndi资源:
<Resource name="jdbc/globalDB"
global="jdbc/globalDB"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/sailplanner"
username="sailplanner"
password="sailplanner2"/>
最后,在文件apache tomcat/conf/context.xml中创建资源链接:
<ResourceLink name="jdbc/myDB"
global="jdbc/globalDB"
auth="Container"
type="javax.sql.DataSource" />
您必须使用JNDI创建数据源: 首先,在Springbean配置(spring database.xml)中添加以下内容:
<beans:bean id="dbDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<beans:property name="jndiName" value="java:comp/env/jdbc/myDB"/>
</beans:bean>
其次,在文件apache tomcat/conf/server.xml中创建jndi资源:
<Resource name="jdbc/globalDB"
global="jdbc/globalDB"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/sailplanner"
username="sailplanner"
password="sailplanner2"/>
最后,在文件apache tomcat/conf/context.xml中创建资源链接:
<ResourceLink name="jdbc/myDB"
global="jdbc/globalDB"
auth="Container"
type="javax.sql.DataSource" />
对于Sql Server,我执行以下配置:
标记jdbc/Oltp1 – main OLTP database
jdbc/Oltp2 – secondary database
testOnBorrow="true"
testOnConnect="true"
validationQuery="SELECT 1"
removeAbandoned="true"
removeAbandonedTimeout="30"
spring.datasource.jndi-name=java:comp/env/jdbc/Oltp1
对于Sql Server,我执行以下配置:
标记jdbc/Oltp1 – main OLTP database
jdbc/Oltp2 – secondary database
testOnBorrow="true"
testOnConnect="true"
validationQuery="SELECT 1"
removeAbandoned="true"
removeAbandonedTimeout="30"
spring.datasource.jndi-name=java:comp/env/jdbc/Oltp1
你想要什么不清楚,请澄清你的要求。好的,我试图澄清这个问题。你把数据库连接到服务器是什么意思?在其上创建数据库连接或仅将XML文件部署到您的应用程序中?我从您的问题中了解到,您希望在applicationContext.XML文件中使用spring-database.XML如果是,则应在applicationContext.XML文件中编写此代码可能与您想要的重复不清楚,请澄清您的要求。好的,我试图澄清这个问题。将数据库连接到服务器是什么意思?在上面创建一个数据库连接,或者只是在应用程序中部署XML文件?我从您的问题中了解到什么您想在applicationContext.XML文件中使用spring-database.XML如果是,那么您应该在applicationContext.XML文件中编写此代码可能与我使用的OpenShift相同我想把数据库连接到tomcat的context.xml中,而不是应用程序中。由于我使用OpenShift,我喜欢将数据库连接放到tomcat的context.xml中,而不是应用程序中。谢谢。正是我想要的。开箱即用。