最近在搞一個WEB項目,以前在公司做項目用的都是JPA做ORM持久層,這次這個項目是我自己接的,我決定改一下,用Hibernate3來做ORM持久層、于是我網上搜尋了Hibernate3怎麼配置內建到Spring3 MVC上,發現千奇百怪,而且很多都是不是基于注解方式配置,顯然那些文字上面的配置方式已經跟如今的Hibernate3注解支援方式脫節了,于是我決定自己搞一把,首先說一下網上那些配置方式的不好的地方,很多文章都提到要jdbc.properties檔案與Hibernate config檔案,其實是如今基于注解,完全沒有必要。我自己總結一下,在已經存在的Spring3 MVC的項目中內建注解支援的Hibernate3,在做之前首先說一下我的整個配置環境:
WEB伺服器: tomcat7
開發環境: EclipseEE
Spring3版本:3.2.5 release
JDK版本: JDK8
資料庫: MySQL 5.x
然後執行如下五步即可:
第一步:在Maven中添加包依賴支援
在項目的pom.xml檔案中添加Hibernate的包依賴,同時還要添加MySQL JDBC的包依賴與apache-common DBCP的包依賴,同時還要添加spring-orm與spring-context的包依賴,添加的pox.xml依賴如下:
spring-orm依賴添加:
第二步:建立一個xml檔案
名字你自己随便取吧,但是檔案必須位于WEB-INF目錄下面。我的做法是在WEB-INF下面建立了一個子目錄spring然後再建立了一個xml檔案data-context.xml
第三步:編輯web.xml檔案
在web.xml檔案添加如下配置:
第四步:在MySQL中建立應用資料庫,
在MySQL啟動的情況下,通過HeidiSQL連接配接到MySQL之後建立一個新的資料庫yourDB,同時在應用程式中建立一個package作為你的Entity類的包,建立一個測試Entity類你自己可以選擇Class名稱,此步驟可以跳過,如果你已經建立好了相應的資料庫。
第五步:添加Hibernate相關配置
這裡主要分為幾個部分,一是支援注解配置、二是支援對Service與Dao層包的掃描、三是配置資料源dataSource、四是要配置連接配接管理的sessionFactory、五是配置支援事務管理,完整的配置檔案如下:
然後儲存全部修改,Maven重新編譯打包之後,就可以直接使用了。
特别要注意的是配置會話工廠的時候使用的是AnnotationSessionFactoryBean作為會話工廠。然後還支援自動建立表,這個在項目開發過程中特别友善,項目結束之後改成validate即可。
轉載請務必注明出自《gloomyfish-jia20003》