Spring集成JPA(Hibernate实现)
Spring 集成 JPA(hibernate实现)
1)数据源 c3p0
2)EntityManagerFactory
3)事务管理器
标注或者xml方式随个人口味
4)异常转换
※要转换的组件上要加入@Repository标注
5)classpath*:META-INF/persistence.xml
6)DaoImpl例 (片段)
不要在DaoImpl的方法中使用 emf.createEntityManager();
这样为手动控制事务,事务的配置失效。#====================================================================================# jdbc infomation# jdbc.dirverClass : 驱动类名# jdbc.url : 数据库统一资源描述符# jdbc.username : 数据库登录用户名# jdbc.password : 数据库登录口令#====================================================================================jdbc.driverClass=com.mysql.jdbc.Driverjdbc.url=jdbc\:mysql\://localhost\:3306/incomejdbc.username=rootjdbc.password=root#====================================================================================# c3p0 setting# c3p0.minPoolSize : 连接池最小保存的连接数量# c3p0.maxPoolSize : 连接池最大保存的连接数量# c3p0.initialPoolSize : 连接池被创建时保存的连接数量# c3p0.maxIdleTime : 连接的最大空闲时间,超时不被使用则丢弃# c3p0.acquireIncrement : 当连接耗尽时每次申请的连接数量# c3p0.idleConnectionTestPeriod : 每间隔一定秒数秒检查所有连接池中的空闲连接# c3p0.acquireRetryAttempts : 定义在从数据库获取新连接失败后重复尝试的次数#====================================================================================c3p0.minPoolSize=5c3p0.maxPoolSize=30c3p0.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