日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql5.7 hibenate5.1_5.7 Spring与Hibernate整合应用

發布時間:2024/7/23 数据库 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql5.7 hibenate5.1_5.7 Spring与Hibernate整合应用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

下面以一個簡單的實例說明Spring與Hibernate的整合策略,步驟如下。

1 在SQL Server 2005中創建數據庫表

數據庫名為XSCJ,表見附錄A的登錄表。

2 創建Web項目

命名為“Hibernate_Spring”

3 添加Spring的開發能力

右擊項目名,選擇【MyEclipse】→【Add Spring Capabilities…】菜單項,將出現如圖5.9所示的對話框,選中要應用的Spring的版本及所需的類庫文件。注意,本書用的Spring版本為Spring 2.0。選擇Spring的核心類庫Spring 2.0 Core Libraries、Spring 2.0 Web Labraries、Spring 2.0 AOP Libraries和Spring 2.0 Persistence JDBC Libraries。

圖5.9? 添加Spring Capabilities

單擊【Next】按鈕,提示是否建立Spring配置文件,在默認情況下選擇application Context.xml文件的存放路徑,選擇在WEB-INF文件夾下,然后單擊【Finish】按鈕,如圖5.10所示。

圖5.10 ?創建applicationContext.xml文件

4 加載Hibernate框架

右擊工程文件,選擇【MyEclipse】→【Add Hibernate Capabilities…】菜單項,出現如圖5.11所示的對話框。選擇Hibernate版本及需要的類庫。

圖5.11? 添加Hibernate庫

單擊【Next】按鈕,出現如圖5.12所示對話框,提示是用Hibernate的配置文件還是用Spring的配置文件進行SessionFactory的配置,選擇使用Spring來對Hibernate進行管理。這樣最后生成的工程中就不包含hibernate.cfg.xml,好處是在一個地方就可以對Hibernate進行管理。

圖5.12? 定義Hibernate配置

單擊【Next】按鈕,出現如圖5.13所示的對話框,提示是創建一個新的Hibernate配置文件還是使用已有的配置文件,由于剛才已經生成了Spring配置文件,并且要在其中進行Hibernate的配置,所以選擇復選框“Existing Spring configuration file”。

圖5.13 ?定義Spring-Hibernate配置

單擊【Next】按鈕,出現如圖5.14所示的對話框,要求選擇數據庫連接信息。這里需要注意一點,Bean Id處填寫數據源的名稱,如“datasource”。數據源的創建請參考4.2.1節中的第2步。

圖5.14 ?指定新的Spring數據源連接信息

單擊【Next】按鈕,出現如圖5.15所示的對話框,提示是否創建SessionFactory類,由于本程序Spring為注入sessionFactory,所以不用創建,單擊【Finish】按鈕。

圖5.15? 定義SessionFactory屬性

5 生成與數據庫表對應的Java數據對象和映射

打開MyEclipse的Database Exploer Perspective,右擊DLB表,選擇Hibernate Reverse Engineering菜單項,如圖5.16所示設置。

圖5.16? Hibernate映射文件和POJO類

單擊【Next】按鈕,在ID generator中選擇native,直接單擊【Finish】按鈕完成。

6 編寫DlDao.java接口

在src文件夾下建立包org.dao,在該包先建立接口,命名為“DlDao”,這里主要以添加用戶為例,代碼如下:

package?org.dao;

import?org.model.Dlb;

public?interface?DlDao?{

public?void?save(Dlb?dl);

}

7 編寫DlDao.java實現類

在src文件夾下建立包org.dao.imp,在該包下建立類,命名為“DlDaoImp”,代碼。

package?org.dao.imp;

import?org.dao.DlDao;

import?org.hibernate.Session;

import?org.hibernate.SessionFactory;

import?org.hibernate.Transaction;

import?org.model.Dlb;

public?class?DlDaoImp?implements?DlDao{

//依賴注入SessionFactory對象,set方法注入

private?SessionFactory?sessionFactory;

public?void?setSessionFactory(SessionFactory?sessionFactory)?{

this.sessionFactory?=?sessionFactory;

}

public?void?save(Dlb?dl)?{

try{

//獲得Session對象

Session?session=sessionFactory.openSession();

Transaction?ts=session.beginTransaction();

session.save(dl);

ts.commit();

}catch(Exception?e){

e.printStackTrace();

}

}

}

8 ?修改Spring配置文件applicationContext.xml

applicationContext.xml文件的代碼修改。

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

class="org.apache.commons.dbcp.BasicDataSource">

value="com.microsoft.sqlserver.jdbc.SQLServerDriver">

value="jdbc:sqlserver://localhost:1433;databaseName=XSKC">

class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

org.hibernate.dialect.SQLServerDialect

/org/model/Dlb.hbm.xml

9 編寫測試類

在src文件夾下建立包test,在該包下建立類Test,代碼如下:

package?test;

import?org.dao.DlDao;

import?org.model.Dlb;

import?org.springframework.context.ApplicationContext;

import?org.springframework.context.support.FileSystemXmlApplicationContext;

public?class?Test?{

public?static?void?main(String[]?args){

Dlb?dlb=new?Dlb();

dlb.setId(1);

dlb.setXh("081109");

dlb.setKl("123456");

ApplicationContext?context=new

FileSystemXmlApplicationContext("WebRoot/WEB-INF/applicationContext.xml");

DlDao?dlDao=(DlDao)?context.getBean("dlDao");

dlDao.save(dlb);

}

}

運行該測試類后,打開數據庫,可以發現在DLB表中添加了一項記錄,如圖5.17所示。

?

圖5.17? 登錄表

Spring的Hibernate ORM 框架帶來了方便的HibernateDaoSupport類,該類為Dao類提供了非常方便的方法getHibernateTemplate(),Dao類只要繼承HibernateDaoSupport就可以使用該方法,例如上例的Dao實現類可以改成如下的代碼:

package?org.dao.imp;

import?org.dao.DlDao;

import?org.model.Dlb;

import?org.springframework.orm.hibernate3.support.HibernateDaoSupport;

public?class?DlDaoImp?extends?HibernateDaoSupport?implements?DlDao{

public?void?save(Dlb?dl)?{

getHibernateTemplate().save(dl);

}

}

總結

以上是生活随笔為你收集整理的mysql5.7 hibenate5.1_5.7 Spring与Hibernate整合应用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。