首页 > 代码库 > Spring集成Hibernate3
Spring集成Hibernate3
Spring集成Hibernate3
Spring集成Hibernate3同集成Jdbc一样,提供了模板,使得我们只需要关心数据表的操作,资源的关闭打开、异常的处理交给Spring来完成,这个模板就是HibernateTemplate。HibernateTemplate(DAO支持类)通过SessionFactory来获取,所以看一下如何在XML中配置SessionFactory
//数据源
<bean id="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<propertyname="driverClassName"value="com.mysql.jdbc.Driver "> </property>
<propertyname="url"value="jdbc:mysql://localhost:3306/dataBase"> </property>
<propertyname="username"value="root"></property>
<propertyname="password"value=""></property>
</bean>
//SessionFactory Bean
beanid="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
//数据源
<propertyname="dataSource">
<refbean="dataSource"/>
</property>
//其他一些属性、例如:方言、是否打印SQL。。。。
<propertyname="hibernateProperties">
<props>
<propkey="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
</props>
</property>
//映射文件
<propertyname="mappingResources">
<list>
<value>hibernate/Users.hbm.xml</value>
</list>
</property>
</bean>
在应用程序中可以通过SessionFactory sf= getBean(“sessionFactory”,SessionFactory.class);
HibernateTemplate ht=new HibernateTemplate(sf);
然后通过HibernateTemplate操作表。
ApplicationContextac=new ClassPathXmlApplicationContext("applicationContext.xml");
SessionFactorysessionFactory=ac.getBean("sessionFactory",SessionFactory.class);
HibernateTemplate ht=newHibernateTemplate(sessionFactory);
Users user=new Users();
user.setUname("zhangsan");
user.setAge(1);
ht.save(user);
我们可以看出,该操作省略了资源的打开与关闭、异常的处理。
Spring集成Hibernate3