Spring与Hibernate整合

1.在applicationContext.xml中配置sessionFactory的bean

<!-- 配置sessionfactory -->
			<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
				<!-- 配置c3p0数据库连接池 -->
				<property name="dataSource">
					<bean class="com.mchange.v2.c3p0.ComboPooledDataSource">
						<!-- 链接数据库基本配置 -->
						<property name="driverClass" value="${driverClass}"/>
						<property name="jdbcUrl" value="${jdbcUrl}"/>
						<property name="user" value="${user}"/>
						<property name="password" value="${password}"/>
						<!-- 其他配置 -->
						<property name="initialPoolSize" value="3"></property>
						<property name="maxPoolSize" value="5"></property>
						<property name="minPoolSize" value="3"></property>
						<property name="acquireIncrement" value="2"></property>
						<property name="maxStatements" value="8"></property>
						<property name="maxStatementsPerConnection" value="5"></property>
						<property name="maxIdleTime" value="20"></property>
					</bean>
				</property>
				<!-- 读取hibernate配置文件 -->
				<property name="configLocation" value="classpath:hibernate.cfg.xml"/>
			</bean>

这个bean中配置连接池时value的值取自外部的propertise文件,因此要在applicationContext.xml中增加配置如下

<!-- 读取外部properties文件 -->
			<context:property-placeholder location="classpath:jdbc.properties"/>

jdbc.properties文件放在工程的src目录下(注意每条value值的后面一定不能有空格)

driverClass = com.mysql.jdbc.Driver
jdbcUrl     = jdbc\:mysql\://localhost\:3306/wxl
user        = root
password    = 111

2.在applicationContext.xml中配置声明式事物(使用基于注解的方式)

<!-- 声明式事物管理配置 -->
			<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
				<property name="sessionFactory" ref="sessionFactory"></property>
			</bean>
			<!-- 使用注解方式 -->
			<tx:annotation-driven transaction-manager="txManager"/>

附:测试用例

@Component
public class StuService {
	@Resource
	private SessionFactory sf;
	
	@Transactional
	public void saveStu(){
		Session session=sf.getCurrentSession();
		session.save(new Student());

		session.save(new Student());
	}

}

spring2.5.6必导jar包

1.核心包spring.jar
2.依赖包
aopectj下的aspectjrt.jar  aspectjweaver.jar(aop用)
cglib下的cglib-nodep-2.1_3.jar(aop动态代理用)
jakarta-commons下的commons-logging.jar(日志包)

hibernate3.6.0必导jar包

1.核心包hibernate3.jar

2.依赖包

lib/required目录下全部包(必须)

hibernate-jpa-2.0-api-1.0.0.Final。jar包

c3p0-0.9.1.jar(配置c3p0连接池使用)



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值