- 浏览: 555382 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (145)
- apache-struts (3)
- apache-shiro (4)
- apache-wicket (1)
- spring (34)
- spring-data-jpa (2)
- spring-mvc (20)
- spring-security (1)
- spring-webflow (1)
- hibernate (2)
- mongodb (1)
- ibatis (5)
- mysql (4)
- 开源组件 (18)
- java (3)
- maven (7)
- jBPM (1)
- EJB (1)
- JMS (2)
- servlet / jsp (9)
- javascript / jquery (10)
- 工作技巧 (12)
- ubuntu (6)
- bootstrap (10)
- javaee (1)
- 他山石 (7)
- jetbrick (1)
最新评论
-
yubao2008:
[size=x-small]为什么我也这样试了, 就是没有生效 ...
javax.servlet.http.HttpServletResponse 得到 status_code -
chenrl:
...
SpringMVC杂记(十五) spring-mvc controller 的切面 -
LONGTENGLONG:
你好,这样配置的,得到的集合为空,是什么原因?
apache-shiro杂记(一) 统计在线用户数目 -
xiafengfeiwu:
[flash=200,200][url]引用[/url][/f ...
apache-shiro 学习笔记 -
3108493554:
你好 ,有些问题想请教下,加下我qq310849354,你这上 ...
SpringMVC杂记(十二) 自定义Interceptor从Active Directory得到域信息
Spring 集成 JPA(hibernate实现)
1)数据源 c3p0
2)EntityManagerFactory
3)事务管理器
标注或者xml方式随个人口味
4)异常转换
※要转换的组件上要加入@Repository标注
5)classpath*:META-INF/persistence.xml
6)DaoImpl例 (片段)
不要在DaoImpl的方法中使用 emf.createEntityManager();
这样为手动控制事务,事务的配置失效。
7)数据库信息
database.properties
1)数据源 c3p0
<context:property-placeholder location="classpath:cn/com/legendapl/persistence/config/database.properties" /> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <property name="driverClass" value="${jdbc.driverClass}" /> <property name="jdbcUrl" value="${jdbc.url}" /> <property name="user" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> <property name="minPoolSize" value="${c3p0.minPoolSize}" /> <property name="maxPoolSize" value="${c3p0.maxPoolSize}" /> <property name="initialPoolSize" value="${c3p0.initialPoolSize}" /> </bean>
2)EntityManagerFactory
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="jpaVendorAdapter"> <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> <property name="showSql" value="true" /> <property name="generateDdl" value="true" /> </bean> </property> </bean>
3)事务管理器
标注或者xml方式随个人口味
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="dataSource" ref="dataSource" /> <property name="entityManagerFactory" ref="entityManagerFactory" /> </bean> <!-- <tx:advice id="txAdvice"> <tx:attributes> <tx:method name="find*" read-only="true"/> <tx:method name="*" propagation="REQUIRED"/> </tx:attributes> </tx:advice> <aop:config> <aop:pointcut expression="execution(* *..dao.impl..*(..))" id="dao-pc"/> <aop:pointcut expression="execution(* *..service.impl..*(..))" id="service-pc"/> <aop:advisor advice-ref="txAdvice" pointcut-ref="dao-pc"/> <aop:advisor advice-ref="txAdvice" pointcut-ref="service-pc"/> </aop:config> --> <tx:annotation-driven/>
4)异常转换
※要转换的组件上要加入@Repository标注
<bean class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor" />
5)classpath*:META-INF/persistence.xml
<?xml version="1.0"?> <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" > <persistence-unit name="hibernate" transaction-type="RESOURCE_LOCAL"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <class>cn.com.legendapl.persistence.domain.User</class> <properties> <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect" /> <!-- <property name="hibernate.connection.driver_class" value="org.gjt.mm.mysql.Driver"/> <property name="hibernate.connection.username" value="root"/> <property name="hibernate.connection.password" value="root"/> <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/itcast?useUnicode=true&characterEncoding=UTF-8"/> --> <property name="hibernate.max_fetch_depth" value="3" /> <property name="hibernate.hbm2ddl.auto" value="update" /> <property name="hibernate.jdbc.fetch_size" value="18" /> <property name="hibernate.jdbc.batch_size" value="10" /> <property name="hibernate.show_sql" value="true" /> <property name="hibernate.format_sql" value="true" /> </properties> </persistence-unit> </persistence>
6)DaoImpl例 (片段)
不要在DaoImpl的方法中使用 emf.createEntityManager();
这样为手动控制事务,事务的配置失效。
@Repository public class UserDaoImpl implements UserDao { @Resource(name = "entityManagerFactory") protected EntityManagerFactory emf; public void saveUser(User user) { EntityManager em = EntityManagerFactoryUtils.getTransactionalEntityManager(emf); em.persist(user); System.out.println(em.getFlushMode()); } public User findUserById(Integer id) { EntityManager em = EntityManagerFactoryUtils.getTransactionalEntityManager(emf); return em.find(User.class, id); } }
7)数据库信息
database.properties
#==================================================================================== # jdbc infomation # jdbc.dirverClass : 驱动类名 # jdbc.url : 数据库统一资源描述符 # jdbc.username : 数据库登录用户名 # jdbc.password : 数据库登录口令 #==================================================================================== jdbc.driverClass=com.mysql.jdbc.Driver jdbc.url=jdbc\:mysql\://localhost\:3306/income jdbc.username=root jdbc.password=root #==================================================================================== # c3p0 setting # c3p0.minPoolSize : 连接池最小保存的连接数量 # c3p0.maxPoolSize : 连接池最大保存的连接数量 # c3p0.initialPoolSize : 连接池被创建时保存的连接数量 # c3p0.maxIdleTime : 连接的最大空闲时间,超时不被使用则丢弃 # c3p0.acquireIncrement : 当连接耗尽时每次申请的连接数量 # c3p0.idleConnectionTestPeriod : 每间隔一定秒数秒检查所有连接池中的空闲连接 # c3p0.acquireRetryAttempts : 定义在从数据库获取新连接失败后重复尝试的次数 #==================================================================================== c3p0.minPoolSize=5 c3p0.maxPoolSize=30 c3p0.initialPoolSize=10 #c3p0.maxIdleTime=60 #c3p0.acquireIncrement=3 #c3p0.idleConnectionTestPeriod=60 #c3p0.acquireRetryAttempts=30 #c3p0.breakAfterAcquireFailure=true #==================================================================================== # hibernate setting # hibernate.dialect : 方言 #==================================================================================== hibernate.dialect=org.hibernate.dialect.MySQLDialect
发表评论
-
SpringMVC杂记(十八) ServletRequestAttributes的应用
2014-02-28 12:38 14139看了一下SpringMVC的源代码,原来SpringMVC也提 ... -
SpringWebflow杂记(一) 框架初探,与SpringMVC的集成
2013-10-23 17:18 1665今日研究了一下SpringWebFlow这个项目,作为Spri ... -
SpringMVC杂记(十六) spring-mvc 与 openid4java
2013-10-12 15:25 3815SpringMVC杂记(十六) spring-mvc 与 op ... -
SpringMVC杂记(十五) spring-mvc controller 的切面
2013-08-01 19:42 6061SpringMVC杂记(十五) spring-mvc cont ... -
Spring集成CXF
2013-06-24 15:53 1523Spring集成CXF 零) jar依赖 <dep ... -
SpringMVC杂记(十四) Ajax方式的JSR303认证
2013-06-13 07:29 4481自己定义一个Exception,用来表示数据绑定失败 im ... -
SpringMVC杂记(十三) 使用FreeMarker作为视图层
2013-06-09 11:55 3350实在没什么好说的,直接上配置文件好了 <bean i ... -
SpringMVC杂记(十二) 自定义Interceptor从Active Directory得到域信息
2013-06-04 14:04 3150一)最近项目中要求实现Web应用的SSO(Single Sig ... -
通过spring,javamail,和freemarker集成发送HTML方式的电子邮件
2013-05-30 14:02 4821一) 现在项目中用的javamail和org.springfr ... -
SpringMVC杂记(十一) 使用Excel视图
2013-04-06 16:06 6577SpringMVC杂记(十一) 使用Excel视图 一) 其 ... -
Spring集成junit
2012-12-24 10:43 1453package junit; import org. ... -
SpringMVC杂记(十) 验证码生成
2012-11-06 10:18 2726以前写过一篇关于这个的博客,现在用SpringMVC了,重写一 ... -
SpringMVC杂记(九) 模拟其他类型(非GET,POST)的请求
2012-10-22 10:49 26321) 以前一个小兄弟问我,SpringMVC是否可以使用很多浏 ... -
SpringMVC杂记(八) 使用阿里巴巴的fastjson
2012-07-21 08:27 102291) 国产开源软件要支持的 <dependency& ... -
ActiveMQ学习笔记(二) JMS与Spring
2012-06-24 10:21 7348上文可见,JMS Native API使用起来不是特别方便。好 ... -
我的SpringSecurity实践
2012-04-08 07:49 8908我的SpringSecurity实践 (一) 数据库与实体类 ... -
SpringMVC杂记(七) Jackson与Hibernate LazyLoding无法正常工作解决办法
2012-03-21 13:35 7002SpringMVC杂记(七) Jackson与Hibernat ... -
SpringMVC杂记(六) 下载文件
2012-03-21 09:04 4216SpringMVC杂记(六) 下载文件 1) jar依赖 ... -
SpringMVC杂记(五) JSR303数据验证
2012-03-16 16:30 12380SpringMVC杂记(五) JSR303数据验证 1) 首 ... -
SpringMVC杂记(四) 数据绑定
2012-03-15 13:44 2209SpringMVC杂记(四) 数据绑定 1) 使用java. ...
相关推荐
Spring集成Jpa(Hibernate实现)例子,原代码哦~! 包涵所需要的jar包,这些jar包不好找,版本如果不兼容就会出现各种各样的莫名其妙的错误或异常。
这是整合SpringMVC+Spring+SpringDataJPA+Hibernate简单的实现登录的功能,用的是mysql数据库,这是一个web Project 如果你用的是JavaEE6那么你要注意bean-validator.jar和weld-osgi-bundle.jar与slf4j的jar包冲突。...
基础框架,可满足开发需要
spring3.1 struts2.3 hibernate4.1 jpa集成小例子,实现查询和添加小功能,删除和修改同理自己写吧。
对Spring与Hibernate进行了整合,在eclipse下创建一个示例性的Dynamic Web Project. 源码包含库文件。
集成查询DSL-Spring 使用PostgreSQL数据库将QueryDSL与Spring Data JPA Hibernate集成有关更多信息:
实现了spring3+springmvc+jpa2.0+hibernate之间的集成,框架搭建。项目可以直接在tomcat中运行
实现了spring3+springmvc+jpa2.0之间的集成,采用多数据源实现jpa,本例子提供的数据源为hibernate何datastore,为需要的朋友省去搭建框架的时间
绝对的物超所值, spring,springmvc,hibernate,jpa2,ehcache,activemq,redis,全局异常拦截统一处理,附件上传下载,史上最全的代码基础框架集成等。
spring2.5学习PPT 传智博客 01_全面阐释Spring及其各项功能 02_搭建与测试Spring的开发环境 03_编码剖析Spring管理Bean的...使用Spring集成JPA 32.Struts+Spring+JPA集成 33.使用Spring集成Struts2 34.所有源码
基于 spring2.5 hibernate3.3 jpa 的annotation注解来减少配置文件的大小 通过jersey实现restful形式请求
spring mvc + spring data jpa + redis + shiro 集成加应用 简单的写了一个demo 如果有报CacheTranscoder.java,DesBase64Tool.java和DESPlus.java 类找不到相关的错误,直接删掉就行,这个是有关加密的算法 另外...
网上找不到这样的例子,只好我自已整理一份了。 该demo是基于maven集成spring5、hibernate5、spring-data-jpa2、H2的可以运行的最基本的main例子。 希望能对大家有帮助。
本版本全面更新了jar包,全部使用了当前最新版本的jar包,struct2.1.8 spring3 hibernate3.5,全面使用注解取代xm的l配置。 另外增加了一个ant构建脚本,支持使用hudson完成每日构建,持续集成,自动测试,代码规范...
spring3.1+hibernate4+jpa框架集成Dao部分,并且已经写好测试类,dao已经封装完毕,已经配置好事务。dao采用泛型。
本项目采用Struts2、Hibernate3集成JPA2、Spring3和Proxool连接池的集成,对整体SSH框架的数据访问及网站效率都有较大的提升,本项目即时部署即可使用,既满足新手的学习,也对有深层研究的朋友有帮助。
基本上,这是一个基于 maven 的 Web 项目,我在其中集成了 Spring 3.6 和 hibernate 3 以及 spring-jpa 和 jersey,在前端我曾经使用 ajax 向 REST 发送请求。 该项目演示了如何使用 Hibernate 和 Spring 框架在 ...
spring-boot-jpa-hibernate:这是将Hibernate与Spring Boot应用程序集成的非常简单的指南
NULL 博文链接:https://jeenry119.iteye.com/blog/1431844