`
小天狼x
  • 浏览: 6142 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring4配置hibernate3

阅读更多

0. 前言

本文章所有代码已经上传,可以免费下载了解。

本项目启动的是会自动创建表结构,只需要看客们提供数据库支持。

本文为作者研究时所写,如有错误望指教。

 

1. 准备

jdk:1.7

eclipse:4.4

maven:3.1.1

spring:4.1.6

hibernate:3.6.10

 

2. 创建一个maven项目,并配置pom文件

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>org.xkx</groupId>
	<artifactId>spring4-hibernate3-demo</artifactId>
	<packaging>jar</packaging>
	<version>0.0.1-SNAPSHOT</version>
	<name>spring4-hibernate3-demo</name>
	<url>http://maven.apache.org</url>
	<dependencies>
<!-- 		oracle jdbc -->
		<dependency>
            <groupId>oracle</groupId>
            <artifactId>oracle-ojdbc6</artifactId>
            <version>1.0</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/lib/ojdbc6.jar</systemPath>
        </dependency>
        
<!--         hibernate -->
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-entitymanager</artifactId>
			<version>3.6.10.Final</version>
		</dependency>

<!-- 		dbcp连接池 -->
		<dependency>
			<groupId>commons-dbcp</groupId>
			<artifactId>commons-dbcp</artifactId>
			<version>1.4</version>
		</dependency>

<!-- 		spring -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>4.1.6.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-orm</artifactId>
			<version>4.1.6.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aspects</artifactId>
			<version>4.1.6.RELEASE</version>
		</dependency>

<!-- 		测试 -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.10</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
	<build>
		<finalName>spring4-hibernate3-demo</finalName>
	</build>
</project>

3. 编写spring配置文件

<?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:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
	
    <!-- 扫描有注解的文件  base-package 包路径 -->
    <context:component-scan base-package="org.xkx"/>

	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
		destroy-method="close">
		<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
		<property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl" />
		<property name="username" value="D_C_XKX" />
		<property name="password" value="D_C_XKX" />
		<property name="initialSize" value="10" />
	</bean>

<!-- 	<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> -->
	<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
		<property name="dataSource">
			<ref bean="dataSource" />
		</property>
		<property name="hibernateProperties">
			<value>
				<!-- 设置数据库方言 -->
				hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
				<!-- 是否在控制台显示sql -->
				hibernate.show_sql=true
				<!-- 是否格式化sql,优化显示 -->
				hibernate.format_sql=true
				<!-- 是否开启二级缓存 -->
				hibernate.cache.use_second_level_cache=false
				<!-- 是否开启查询缓存 -->
				hibernate.cache.use_query_cache=false
				<!-- 数据库批量查询最大数 -->
				hibernate.jdbc.fetch_size=50
				<!-- 数据库批量更新、添加、删除操作最大数 -->
				hibernate.jdbc.batch_size=50
				<!-- 系统启动时是否对数据库的表进行重建、更新等操作 -->
				hibernate.hbm2ddl.auto=update
			</value>
		</property>
		
		<property name="packagesToScan">
			<value>org.xkx</value>
		</property>
	</bean>

	<!-- 定义事务管理 -->
	<bean id="transactionManager"
		class="org.springframework.orm.hibernate3.HibernateTransactionManager">
		<property name="sessionFactory" ref="sessionFactory" />
	</bean>

    <tx:advice id="txAdvice" transaction-manager="transactionManager">
        <tx:attributes>
        	<tx:method name="find*" read-only="true" propagation="REQUIRED"/>
			<tx:method name="get*" read-only="true" propagation="REQUIRED"/>
            <tx:method name="create" propagation="REQUIRED" rollback-for="Exception" />
            <tx:method name="delete*" propagation="REQUIRED" rollback-for="Exception" />
            <tx:method name="update*" propagation="REQUIRED" rollback-for="Exception" />
            <tx:method name="grant*" propagation="REQUIRED" rollback-for="Exception" />
            <tx:method name="save*" propagation="REQUIRED" rollback-for="Exception" />
            <tx:method name="insert*" propagation="REQUIRED" rollback-for="Exception" />
            <tx:method name="someOtherBusinessMethod" propagation="REQUIRES_NEW"/>
            <tx:method name="*" propagation="SUPPORTS" read-only="true"/>
        </tx:attributes>
    </tx:advice>
	
	<aop:config>
        <aop:pointcut id="productServiceMethods" expression="execution(* org.xkx.*..*.*ServiceImpl.*(..))"/>
        <aop:advisor advice-ref="txAdvice" pointcut-ref="productServiceMethods"/>
    </aop:config>

</beans> 

 4. JavaBean和service类请参见附件

 

 5. 编写测试类

    	ApplicationContext applicationContext = new ClassPathXmlApplicationContext("/spring/srping-ctx.xml");
    	UseAnnotationEntityService useAnnotationEntityService = applicationContext.getBean("useAnnotationEntityServiceImpl", UseAnnotationEntityService.class);
    	for (int i = 0; i < 2; i++) {
    		UseAnnotationEntity useAnnotationEntity = new UseAnnotationEntity();
    		useAnnotationEntity.setName("姓名" + i);
    		useAnnotationEntity.setAge(i);
    		useAnnotationEntity.setCreateTime(new Date());
    		useAnnotationEntityService.create(useAnnotationEntity);
    		System.out.println("a");
    	}

 6. 执行测试代码



 

 

  • 大小: 662.6 KB
分享到:
评论

相关推荐

    SSH - SpringMVC4 + Spring4 + Hibernate4 + c3p0 + Mysql.zip

    在本项目"SSH - SpringMVC4 + Spring4 + Hibernate4 + c3p0 + Mysql.zip"中,开发者使用了SpringMVC4作为表现层,Spring4作为控制层和服务层,Hibernate4作为持久层,c3p0作为数据库连接池,以及MySQL作为数据库。...

    spring4+hibernate4整合例子

    3. Spring4对Hibernate4的事务管理支持 4. 使用JUnit进行测试驱动开发 5. Eclipse集成开发环境的使用 理解并掌握这些知识点,对于任何Java后端开发者来说都至关重要,因为它们构成了现代企业级应用的基础架构。通过...

    struts2+spring4+hibernate

    Struts2、Spring4和Hibernate是Java开发中的三大框架,它们在构建企业级Web应用程序时起着核心作用。本教程将深入探讨这三个框架如何协同工作,以实现高效、灵活和可扩展的电子商务平台。 首先,Struts2是一个基于...

    Spring4+Hibernate4+SpringMvc

    在Spring4+Hibernate4+SpringMvc的集成项目中,通常会使用Spring的DataSource来配置数据源,然后通过SessionFactory和Session接口进行数据库操作。Hibernate的实体类会通过注解或配置文件与数据库表关联。SpringMvc...

    struts2-spring4-hibernate4_xml配置的框架

    Struts2-Spring4-Hibernate4 XML配置的框架是一个经典的Java Web开发架构,它整合了三个主流的开源框架:Struts2、Spring4和Hibernate4。这个框架的配置主要通过XML文件来完成,同时也可以结合注解的方式进行更加...

    spring4+springmvc4+hibernate4 整合

    在本项目"spring4+springmvc4+hibernate4 整合"中,我们将探讨这三者的集成过程,以及它们如何协同工作来构建高效、可维护的Web应用程序。 **Spring Framework 4** Spring 是一个全面的Java应用框架,提供依赖注入...

    spring4+hibernate4实现增删改查

    本文将深入探讨如何使用Spring4和Hibernate4实现数据库的增删改查操作,以及在这个过程中可能涉及的关键知识点。 首先,Spring4是一个全面的Java应用程序框架,它提供了一种方式来管理组件(或称为bean)之间的依赖...

    spring4集成hibernate3:xml方式

    &lt;bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"&gt; &lt;property name="configLocation" value="classpath:hibernate.cfg.xml"/&gt; ...

    springMvc+spring4+hibernate4搭建demo

    在本文中,我们将深入探讨如何使用Spring MVC、Spring 4和Hibernate 4构建一个完整的Java Web应用程序框架模板。Spring MVC是Spring框架的一部分,用于处理Web请求,Spring 4提供了全面的依赖注入和企业级服务,而...

    最新项目系统:Struts2+Spring4+Hibernate4三大框架整合

    开发人员可以通过分析这些文件,了解如何配置Struts2、Spring4和Hibernate4的整合,学习如何在实际项目中应用这三大框架。此外,还可以通过阅读源码,理解它们之间的交互机制,加深对MVC模式和Java Web开发的理解。 ...

    springmvc4+spring4+hibernate5.1.3+二级缓存ehcache+fastjson配置

    压缩包中的"SpringMVC4.3_Spring4_Hibernate5.1.3配置文件"应该包含了所有必要的配置文件,如Spring的bean定义XML文件、Hibernate的配置文件、Web应用的部署描述符(web.xml)等,以及可能的示例代码和测试用例。...

    struts2.1+spring2.5+hibernate3.3整合之第一步(spring2.5+hibernate3.3)

    3. 配置Hibernate:在Spring配置文件中,配置Hibernate的SessionFactory,并设置数据库连接信息。同时,需要编写实体类和对应的映射文件(`.hbm.xml`),以便Hibernate能够自动管理数据库表。 4. 配置Struts2:创建...

    在Spring中配置Hibernate事务

    在Spring配置中定义一个HibernateTransactionManager实例,将SessionFactory注入其中。例如: ```xml &lt;bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager"&gt; ...

    Struts2+Spring4+Hibernate5整合

    4. **配置Hibernate**:设置hibernate.cfg.xml文件,配置数据库连接信息,加载实体类,并指定SessionFactory Bean。使用Spring管理SessionFactory,通过`LocalSessionFactoryBean`配置。 5. **整合步骤**:在Struts...

    Spring4+SpringMVC4+Hibernate4整合源码

    5. **源码分析**:对于"Spring4+SpringMVC4+Hibernate4整合源码",研究这些源码可以帮助开发者深入理解三大框架的内部工作原理,学习如何配置和使用它们进行实际项目开发。通过源码,你可以看到如何配置Spring的...

    spring4+hibernate4+security4整合

    此外,还需要配置Hibernate的SessionFactory,使其与Spring的事务管理器配合工作,实现声明式事务管理。 2. **整合Hibernate**:通过Spring的HibernateTemplate或SessionFactoryBean,可以在Spring容器中管理...

    spring4+hibernate4+maven

    在IT行业中,构建高效、可维护的企业级应用是一项复杂任务,而"Spring4+Hibernate4+Maven"的组合提供了一种强大的解决方案。这个组合涵盖了三个核心的技术领域:Spring框架作为应用的基石,Hibernate作为持久层的...

    spring mvc+hibernate实现事务管理(配置文件版)

    3. 创建Hibernate的配置文件,比如`hibernate.cfg.xml`,配置数据库连接、方言、缓存等。 4. 在MyEclipse中,可以使用"New -&gt; Spring Beans"生成这些配置文件,并自动导入所需的jar包。 对于数据库MySQL,我们需要...

    strut2与spring4与hibernate4整合

    3. **配置Hibernate**:设置`hibernate.cfg.xml`文件,配置数据库连接、实体类映射和SessionFactory。 4. **整合Struts2和Spring**:使用Spring插件或`struts-plugin.xml`来实现Action的Spring Bean注入,使得...

Global site tag (gtag.js) - Google Analytics