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. 执行测试代码
相关推荐
在Spring中配置Hibernate事务
spring3,hibernate4 配置声明式事务管理(annotation方式)
struts2-spring4-hibernate4_xml包含XML配置和注解配置的三大框架。
此配置和包,是springMVC4.3.3 +spring4+hibernate5.1.3+二级缓存ehcache(不用可以关闭)+fastjson。 是正常运行的项目里拷出来的,方便大家使用。
spring4+hibernate4实现的增删改查,有完整的配置和jar包,使用的是mysql数据库,需要自己创建表
《轻量级Java EE企业应用实战:Struts2+Spring4+Hibernate整合开发(第4版)》是《轻量级Java EE企业应用实战》的第4版,第4版保持了前几版内容全面、深入的特点,主要完成全部知识的升级。 《轻量级Java EE企业...
传播智客,为Spring集成的Hibernate配置二级缓存、cache.xml
Spring4+hibernate4+maven 内附demo. 注意:jdbc文件需要自己创建好空数据库,配置一下即可,数据表会自动生成。
spring3、 hibernate4 配置声明式事务管理(annotation方式)
1、Spring 3.x 对 Hibernate 4.x 不提供 HibernateDaoSupport,所以在dao的实现层注入SessionFactory 2、报错:org.hibernate.HibernateException: No Session found for current thread 意思是必须在...
memcache的客户端,用maven构建,里有用hibernate-memcached与hibernate,spring3.0进行配置,也有与spring3.0单独配置。
Struts2+Spring3+Hibernate4零配置所需全部jar包
Spring-hibernate结合使用全xml配置方式
spring2.5+hibernate基于xml配置的实例
一个实例小工程,说的是spring3+hibernate4怎么配置声明式事务管理(xml方式)
SSH(Struts2+Spring4+Hibernate4)配置及整合,详细配置过程见http://blog.csdn.net/why_still_confused/article/details/52614636
一个小实例工程,说的是spring3+hibernate4配置声明式事务管理(annotation方式)
spring mvc hibernate整合,采用MyEclipse自动生成包和配置文件,jar包可能有多余,但是不影响整体效果。服务器tomcat。数据库mysql。
Struts2.3 + Spring4.2 +Hibernate3.6 的全部jar包整合,共有28个。 导入jar 之后、再导入相对应的配置文件 即可进行开发!