Spring 整合 Hibernate(注解方式)

spring整合Hibernate其实就是Spring来管理Hibernate的SessionFactory,以及配置事务的操作。

在Hibernate的配置文件中只有一个SessionFactory的节点,可以在这个节点内配置数据库的连接信息和映射文件。

1.而在Spring中,管理数据库连接用到的是dataSource这样一个bean,spring中它的连接类为org.springframework.jdbc.datasource.DriverManagerDataSource,在dataSource中配置数据库连接信息,也可以使用c3p0连接池来连接,需要引入c3p0的包,具体类为com.mchange.v2.c3p0.ComboPooledDataSource。

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" >  
        <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>  
        <property name="url" value="jdbc:mysql://localhost/tx_test"></property>  
        <property name="username" value="root"></property>  
        <property name="password" value="HEAVEN"></property>  
    </bean>  


2.此外还需要一个sessionFactory的bean,用来配置Hibernate的属性,如hibernate日志输出和映射文件等。

<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">  
        <property name="dataSource" ref="dataSource" />  
        <property name="hibernateProperties">  
            <props>  
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>  
                <prop key="hibernate.hbm2ddl.auto">update</prop>  
                <prop key="hibernate.show_sql">true</prop>  
                <prop key="hibernate.format_sql">true</prop>  
            </props>  
        </property>  
        <property name="mappingResources">  
            <list>  
                <value>User.hbm.xml</value>  
            </list>  
        </property>  
    </bean>  



3.事务处理方面需要配置一个transactionManager的bean,将sessionFactory注入进去。

<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">  
        <property name="sessionFactory" ref="sessionFactory"/>  
    </bean>


4.如果是采用注解的方式来使用事务,还需要配置开启事务。

<tx:annotation-driven transaction-manager="transactionManager"/>

ps:spring与hibernate的整合很容易出错,一般都是引入包问题,版本不兼容或包冲突等,要仔细分辨一下,一步步去尝试,

我这里用到的jar包有以下:

spring4.17的所有jar包(除spring-aspectJ)

hibernate-core-4.2.1.Final.jar

aopalliance-1.0.jar

com.springsource.com.mchange.v2.c3p0-0.9.1.2.jar

com.springsource.org.aspectj.weaver-1.6.8.REALEASE.jar

commons-logging-1.1.3.jar

mysql-connector-java-5.0.8-bin.jar

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值