Spring 学习之二(Spring 和 hibernate 整合)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring 学习之二(Spring 和 hibernate 整合)相关的知识,希望对你有一定的参考价值。
Spring 学习之二(Spring 和 hibernate 整合)
如果你不明白hibernate的搭建可以参考《Hibernate 学习路程之一(Hibernate 环境的搭建)》
Hibernate主配置文件包含三部分内容
1>连接数据库的信息
2>自己的属性配置
3>映射文件的位置
这三部分内容,在<session-factory>节点下,也就是说这三部分内容主要是为了构造一个
SessionFactory对象。
配置文件的整合
1,完全删除hibernate主配置文件,把hibernate 配置文件的内容(三方面)转移到spring主配置
文件中
2,保留hibernate主配置文件,并用spring配置文件指向hibernate配置文件。
项目上我们一般按照下面的方式
保留hibernate 主配置文件,但把连接数据库的信息转移到spring 配置文件中
第一步:添加 springhibernate Jar 包支持
Jdbc libraries 三个
第二步:注释 hibernte 中连接数据库信息
第三步:spring 配置中添加 dataSource 与 sessionFactory
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.mysql.jdbc.Driver">
</property>
<property name="url" value="jdbc:mysql://127.0.0.1:3306"></property>
<property name="username" value="root"></property>
<property name="password" value="root"></property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="configLocation">
<value>file:src/hibernate.cfg.xml</value>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
</props>
</property>
</bean>
hibernate主配置文件中写hibernate的属性配置及其映射文件的信息
<hibernate-configuration>
<session-factory>
<property name="show_sql">true</property>
<mapping resource="com/wfg/pojo/Student.hbm.xml" />
</session-factory>
</hibernate-configuration>
第四步: dao extends HibernateDAOSupport
StudentDAO extends HibernateDaoSupport
super.getHibernateTemplate() 有完整的save等方法
Session session = super.getSession();
第五步:spring 配置文件中配置 DAO 类
<bean id="StudentDAO" class="com.wfg.pojo.StudentDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
第六步:编写测试类 dao 要通过容器获取
public static void main(String[] args)
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
StudentDAO studentDAO = context.getBean(StudentDAO.class);
studentDAO.save(new Student("李四", 12, new Timestamp(new Date().getTime()), true, "springhibernat"));
以上是关于Spring 学习之二(Spring 和 hibernate 整合)的主要内容,如果未能解决你的问题,请参考以下文章
[ SSH框架 ] Spring框架学习之二(Bean的管理和AOP思想)
spring 学习之三(spring 与hibernate, struts2整合)