企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# Spring 3 和 Hibernate 4 集成示例教程 > 原文: [https://howtodoinjava.com/spring-orm/spring3-hibernate4-integration-example/](https://howtodoinjava.com/spring-orm/spring3-hibernate4-integration-example/) 如果您浏览了我以前的文章,该文章也是同一主题,即 [**Spring 3 + Hibernate 集成**](https://howtodoinjava.com/spring/spring-orm/spring-3-and-hibernate-integration-tutorial-with-example/) 。 我在那篇文章中收到了很多评论和反馈,其中大部分是因为人们试图在现有项目中使用代码/依赖关系,或者他们没有使用 Maven 来构建项目。 在这两种情况下,正确识别和使用项目依赖项仍然是主要挑战。 因此,我决定写另一篇根本不使用 Maven 的文章。 如果确实如此,我已经在项目源代码本身中添加了所有必需的 jar 文件。 此外,我具有 Spring 的最新版本,即 3.0.5 至 3.2.5.RELEASE。 [**下载源码**](https://drive.google.com/file/d/0B7yo2HclmjI4Y3owV0FDaXBvU2c/edit?usp=sharing) ## 1\. 开发环境 1. Eclipse Juno RELEASE 2. JDK 1.6 3. Hibernate 4.0.1 4. Spring 3.2.5.RELEASE 5. MySQL 数据库 6. Tomcat 7 对于那些直接来到本文的人,让我们逐步讲解 **Spring Hibernate 集成示例**。 ## 2\. 数据库架构 在开始采取行动之前,请确保您已经使用下表创建了数据库模式: ```java CREATE TABLE EMPLOYEE ( ID INT PRIMARY KEY AUTO_INCREMENT, FIRSTNAME VARCHAR(30), LASTNAME VARCHAR(30), TELEPHONE VARCHAR(15), EMAIL VARCHAR(30), CREATED TIMESTAMP DEFAULT NOW() ); ``` ## 3\. 创建 Maven Eclipse 动态 Web 项目 这不是困难的一步,而是重要的一步。 请确保您正在创建“Web 应用程序”而不是简单的“java 项目”。 我已经创建了名称为`Spring3.2.5Hibernate4.0.1Integration`的项目。 ![Dynamic web project creation in eclipse](https://img.kancloud.cn/9c/7d/9c7d8e7b3afe94b8714ffc27f8f829b7_858x527.jpg) ## 4\. 创建配置 我不会在本节中强调更多,因为我没有使用上一篇文章中已经存在的新代码或函数集。 因此,请访问先前的示例 [**Hibernate+Spring 3 集成示例**](https://howtodoinjava.com/spring/spring-orm/spring-3-and-hibernate-integration-tutorial-with-example/),以获取更多详细信息。 由于 Spring 版本的改进,我想在这里给出修改后的配置。 ```java <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:lang="http://www.springframework.org/schema/lang" xmlns:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"> <context:annotation-config /> <context:component-scan base-package="com.howtodoinjava.controller" /> <bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> <property name="prefix" value="/WEB-INF/view/" /> <property name="suffix" value=".jsp" /> </bean> <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> <property name="basename" value="classpath:messages" /> <property name="defaultEncoding" value="UTF-8" /> </bean> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" p:location="/WEB-INF/jdbc.properties" /> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" p:driverClassName="${jdbc.driverClassName}" p:url="${jdbc.databaseurl}" p:username="${jdbc.username}" p:password="${jdbc.password}" /> <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="configLocation"> <value>classpath:hibernate.cfg.xml</value> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">${jdbc.dialect}</prop> <prop key="hibernate.show_sql">true</prop> </props> </property> </bean> <bean id="employeeDAO" class="com.howtodoinjava.dao.EmployeeDaoImpl"></bean> <bean id="employeeManager" class="com.howtodoinjava.service.EmployeeManagerImpl"></bean> <tx:annotation-driven transaction-manager="transactionManager"/> <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> </beans> ``` ## 5\. 下载并复制`lib`文件夹中所需的 jar 文件 以前的帖子是关于 Maven 的,所以很多工作似乎都是多余的。 但是,对于使用 ANT 的用户,他们必须使用下载的 jar。 好吧,这一次,我已经为您完成了这项工作。 以下是此项目中使用的 jar 文件列表。 ```java antlr-2.7.7.jar aopalliance-1.0.jar commons-collections-3.2.1.jar commons-dbcp-1.4.jar commons-lang-2.5.jar commons-logging-1.1.1.jar commons-pool-1.5.4.jar dom4j-1.6.1.jar hibernate-commons-annotations-3.2.0.Final.jar hibernate-core-4.0.1.Final.jar hibernate-jpa-2.1-api-1.0.0.Draft-16.jar javassist-3.12.1.GA.jar jboss-logging-3.1.1.GA.jar jstl-1.2.jar jta-1.1.jar junit-4.11.jar mysql-connector-java-5.1.9.jar slf4j-api-1.6.1.jar spring-aop-3.2.5.RELEASE.jar spring-beans-3.2.5.RELEASE.jar spring-context-3.2.5.RELEASE.jar spring-context-support-3.2.5.RELEASE.jar spring-core-3.2.5.RELEASE.jar spring-expression-3.2.5.RELEASE.jar spring-jdbc-3.2.5.RELEASE.jar spring-orm-3.2.5.RELEASE.jar spring-tx-3.2.5.RELEASE.jar spring-web-3.2.5.RELEASE.jar spring-webmvc-3.2.5.RELEASE.jar standard-1.1.2.jar ``` 将上述所有 jar 文件复制到`lib`文件夹中。 完成此步骤后,您的项目应如下所示: ![spring 3 project hierarchy](https://img.kancloud.cn/33/6f/336f85b55013ca4e11bb15eb23907839_374x509.jpg) spring 3 项目层次结构 ## 6\. Spring Hibernate 集成示例演示 结果将类似于以前的帖子。 为了提醒您,屏幕将如下所示: URL:`http://localhost:8080/Spring3.2.5Hibernate4.0.1Integration/` ![spring 3 + hibernate integration example ](https://img.kancloud.cn/6a/a0/6aa0c88afe347ee854bd1ac6031ae122_663x321.jpg) spring 3 + hibernate 集成示例 [**下载源码**](https://drive.google.com/file/d/0B7yo2HclmjI4Y3owV0FDaXBvU2c/edit?usp=sharing) 学习愉快!