1. 程式人生 > >spring與hibernate 的整合

spring與hibernate 的整合

    spring與hibernate的整合  
 
hibernate的所有初始化資訊都是建立在配置檔案中的。如:
Configuration ---> SessionFactory ---> Session .
那麼,我們在spring中,就只用直接去操作sessionFactory所需要的資訊來建立資料庫的操作類。
在spring中,提供了一個名為:LocalSessionFactoryBean的類。顧名思義,它就是一個SessionFactory,

具體操作:
  新建一個XML檔案:application.xml

//資料庫連線的相關資訊
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  <property name="driverClassName">
     <value>.....</value>
  </property>
 ......
</bean>

//
<bean id="sessionFactory"
 class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

 //注入dataSource資訊
  <property name="dataSource">
     <ref bean="dataSource"/>
  </property>

 //配置hibernate的相關屬性
   <property name="hibernateProperties">
    <props>
       <prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>
       <prop name="show_sql">true</props>
   ......
    </props>
 </property>
 
 //ORM對映檔案:
 //針對ORM對映檔案,有兩種方式配置進來:
 //方式一:
 <property name="mappingResources">
  <list>
   <value>demo.hbm.xml</value>
   <value>test.hbm.xml</value>
   .....
  </list>
 </property>

 //在方式一的情況下,若ORM檔案過多,或者團隊開發時,勢必不適用,所以引入方式二,
 //方式二:
 <property name="mappingDirectoryLocation">
  <list>
   //在團隊開發時,將每個人的ORM資料夾的路徑寫入
   <value>classpath:com/my/po</value>
   <value>classpath:com/his/po</value>
   <value>classpath:com/her/po</value>
   ......
  </list>
 </property>
</bean>

//在spring中,操作hibernate,都是基於HibernateTemplate類的基礎上的。引入hibernateTemplate:
<bean id="hibernateTemplate"
  class=""org.springframework.orm.hibernate.HibernateTemplate>
 <property name="sessionFactory">
  <ref bean="sessionFactory"/>
 </property>
</bean>


java中的使用:

public class DemoImpl implements DemoInter{

 private DataSource dataSource;

 //由於配置檔案中注入了dataSource,所以,這裡只用注入hibernateTemplate,而不用new.
 private HibernateTemplate hibernateTemplate;

 public void setDataSource(DataSource dataSource){
  this.dataSource = dataSource;
 }
 
 public void setHibernateTemplate(HibernateTemplate hibernateTemplate){
  this.hibernateTemplate = hibernateTemplate;
 }

 public List queryByID(int id){

  String hql = "from Emp emp where id = ?";
  return hibernateTemplate.find(hql,id,Hibernate.Integer);
 }

 ......
}

相關推薦

Java進階學習第二十四天(Spring框架:事務管理、SpringHibernate整合

一、事務控制 1、引入 使用者訪問 > Action > Service > Dao 如何保證: 在service中呼叫2次dao,其中一個dao執行失敗,整個操作要回滾 2、事務控制概述 ① 程式設計式事務控制:自己手動控制事務 Jdbc程式

springhibernate整合配置檔案含連線池

spring的整個配置內容,對於專案整合最好是分開 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

springhibernate整合之sessionfactory的三種方式

方式1:只加載SessionFactory   <bean id="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <propertyn

IDEA 下寫出第一個 SSH 整合框架練手專案( 一 ,Spring Hibernate 整合)

IDEA 下寫出第一個 SSH 整合框架練手專案( 一 ) 最近幾周快速的學完了 SSH 框架,因為很快,所以幾乎沒記住什麼,又抄著視訊寫了一個專案,決定自己只看原始碼的再寫一遍。 1. 新建meavn專案 首先,新建一個Meavn 專案,File <---

SpringHibernate整合的相關問題和解決方案(整合方案一:dataSource交給Spring來管理)

整合的關鍵點:Hibernate的SessionFactory物件交給Spring去建立;Hibernate的事務交給Spring的宣告式事務管理;(Hibernate的操作是基於事務的操作);整合步驟:  配置資料來源(採用C3P0連線池)<bean id="data

ssh整合思想 SpringHibernate整合 項目在服務器啟動則自動創建數據庫表

dtd 啟動 mysql5 建立 color 思想 bean .hbm.xml lte Spring整合Hibernate Spring的Web項目中,web.xml文件會自動加載,以出現歡迎首頁。也可以在這個文件中對Spring的配置文件進行監聽,自啟動配置文件, 以及之

ssh整合思想 SpringHibernate和Struts2的action整合 調用action添加數據庫 使用HibernateTemplate的save(entity)方法

all 自動 註意 pool 監聽 聲明屬性 struts2 技術 utf-8 自動調用Spring的bean.xml配置文件 需要web.xml啟動文件 代碼如下: <?xml version="1.0" encoding="UTF-8"?> <web

詳細解釋SpringHibernate整合原理

首先我們來看單純的使用Hibernate時管理資料來源: 在類路徑下建立一個hibernate.cfg.xml 寫入資料來源的資訊: <hibernate-configuration> <session-factory>

springhibernate 的整合

    spring與hibernate的整合     hibernate的所有初始化資訊都是建立在配置檔案中的。如: Configuration ---> SessionFactory ---> Session . 那麼,我們在spring中,就只用直接去操作sessionFactory所

SpringHibernate整合

1.管理SessionFactory 使用Spring整合Hibernate時我們不需要hibernate.cfg.xml檔案。首先,在applicationContext.xml中配置資料來源(dataSource)bean和session工廠(sessionFacto

將osworkflowspringhibernate整合的基本介紹

1. 將osworkflow與spring和hibernate結合的原因     1)簡化對osworkflow的配置     2)利用hibernate框架的一些特性,如持久化,快取等     3)事務管理,osworkflow本身是不支援事務的,而事務是作為一個

SpringMybatis整合

base package div classpath conf data pac 是否 ner 一 概述 1.整合的目的 將Mapper映射器的創建任務交給Spring容器。 二 具體實現 1.創建sqlSessionFactory: <bean id="sql

springstruts2整合出現錯誤HTTP Status 500 - Unable to instantiate Action

alt 問題 blog src nbsp 文件 spa XML color 在進行spring和struts2整合的時候因為大意遇到了一個問題,費了半天神終於找到了問題所在,故分享出來望廣大博友引以為戒!! 我們都知道在spring和struts2整合時,spring接管了

springquartz整合實現分布式動態創建,刪除,改變執行時間定時任務(mysql數據庫)

ces value 我們 job clu xsd collect 註解 common 背景:因為在項目中用到了定時任務,當時想到了spring的quartz,寫完發現費了很大功夫,光是整合就花了一上午,其中最大的問題就是版本問題,項目中用的是spring3.2.8的版本,查

springmybati整合方法

interface start face mapper con tro p s org lose (1)spring配置文件: <!-- 引入jdbc配置文件 --> <context:property-placeholder lo

Spring+SpringMVC+hibernate整合開發

exp mvc margin tar e30 fio ilb fc14 h264 被瘟謎謫逼戲溫次蔡蒙磊疤回http://shequ.docin.com/vpe32249 空私錘氖園掠覆痔瓜傅殖http://jz.docin.com/gqsn83067 境噬栽品新嗚趙德

SSM整合(2): spring mybatis 整合

分享 eth point names space json cal 返回 autowired 在進行完spring與springmvc整合之後, 繼續 spring與mybatis的整合. 既然是操作數據庫, 那必然不能缺少了連接屬性 一. db.properties j

springshiro整合

web.xml map life servle cti 我認 ref init for spring與shiro整合 (1)加入所需要是jar包 (2)配置shiro Filter(web.xml) <!-- shiro過慮器,DelegatingFilte

spring學習 六 springmybatis整合

spring整合 acl nfa stat 工廠設計 eas ctype tin http   在mybatis學習中有兩種配置文件 :全局配置文件,映射配置文件。mybatis和spring整合,其實就是把mybatis中的全局配置文件的配置內容都變成一個spring容器

022 springRabbitmq整合

ring config resource 進行 virt vat gte urn address 一 .概述   本次我們使用spring幫助我們完成Rabbitmq的使用. 二 .環境的搭建   本次使用springboot的jar文件幫助整合rabbitmq,但是