spring - 如何使用 hibernate 和 spring 在 Tomcat 7 中配置 MySQL 数据源?

标签 spring hibernate tomcat jdbc tomcat7

这是我的问题:我正在尝试在 context.xml tom cat 的字段中配置我的数据源,如下所示:

//C:\apache-tomcat-7.0.42\conf\context.xml 

<Context>

<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>


<Resource
  name="jdbc/myDB" docBase="inv" auth="Container"
  type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver"
  maxActive="100" maxIdle="30" maxWait="10000"
  url="jdbc:mysql://localhost:3306/myDB?autoReconnect=true"
  username="root" password="pass"/>

</Context>

我的 servlet-context.xml(spring 项目)中有 hibernate 配置:

...
<!-- JDBC Data Source -->
<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://localhost:3306/rhcimax"/>
    <property name="username" value="root"/>
    <property name="password" value="1234"/>
    <property name="validationQuery" value="SELECT 1"/>
</bean>

<!-- Hibernate Session Factory -->
<bean id="mySessionFactory"     class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <property name="dataSource" ref="myDataSource"/>
    <property name="packagesToScan">
    <array>
        <value>com.blah.baseProject</value>
    </array>
</property>
<property name="hibernateProperties">
  <value>
    hibernate.dialect=org.hibernate.dialect.MySQLDialect
  </value>
</property>
</bean>

<!-- Hibernate Transaction Manager -->
<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="mySessionFactory"/>
</bean>

<!-- Activates annotation based transaction management -->
<tx:annotation-driven transaction-manager="transactionManager"/>

如何删除下面这部分代码,委托(delegate)给tom猫的context.xml?:

<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://localhost:3306/rhcimax"/>
    <property name="username" value="root"/>
    <property name="password" value="1234"/>
    <property name="validationQuery" value="SELECT 1"/>
</bean>

提前致谢。

最终解决方案:

引用文献是:xmlns:jee="http://www.springframework.org/schema/jee", xsi:schemaLocation="http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd "

最后我们有:

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:jee="http://www.springframework.org/schema/jee"
    xsi:schemaLocation="
    http://www.springframework.org/schema/beans         http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd">

<jee:jndi-lookup id="myDataSource" jndi-name="java:comp/env/jdbc/myDB"/>

<!-- Hibernate Session Factory -->
<bean id="mySessionFactory"     class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <property name="dataSource" ref="myDataSource"/>
    <property name="packagesToScan">
    <array>
        <value>com.blah.baseProject</value>
    </array>
</property>
<property name="hibernateProperties">
  <value>
    hibernate.dialect=org.hibernate.dialect.MySQLDialect
  </value>
</property>
</bean>

<!-- Hibernate Transaction Manager -->
<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="mySessionFactory"/>
</bean>

<!-- Activates annotation based transaction management -->
<tx:annotation-driven transaction-manager="transactionManager"/>

谢谢阿兰斯特罗普。

更多信息:http://static.springsource.org/spring/docs/3.3.0.BUILD-SNAPSHOT/spring-framework-reference/html/xsd-config.html

最佳答案

关于spring - 如何使用 hibernate 和 spring 在 Tomcat 7 中配置 MySQL 数据源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18295642/

相关文章:

java - 线程中的异常 "main"org.hibernate.AnnotationException : @OneToOne or @ManyToOne on

hibernate - Web 应用程序在 tomcat 6.0.21/7.0.11 中毫 headless 绪地挂起

java - 如何在 Spring Security 中替换 UsernamePasswordAuthenticationFilter

spring - GWT Spring 安全集成(纯 GWT,无 JSP)

java - Spring @Autowired - 后台发生了什么

java - Jersey ContainerRequestFilter - 修改查询参数不会修改 Controller 中的上下文请求

java - 如何控制 JVM 使用的内存?

java - Spring Swing 集成

java - 我正在 hibernate 状态下保存一个实体。它正在更新同一语句中已保存的数据。如何解决这个问题?

java - java : how reduce repeated code 异常