Hibernate是面向Java環境的對象/關係數據庫映射工具,管理Java應用和數據庫之間的映射關係,提供數據查詢和獲取數據的方法,能夠大幅減小使用JDBC處理數據持久化的時間。html
使用Eclipse自動工具,Hibernate的用戶比較簡單,步驟以下:java
一、Eclipse建立動態網頁項目sql
在MS SQL Server的pubs數據庫中建立數據表t_info,SQL代碼以下:數據庫
use pubs; create table t_info ( Id integer not null primary key, message varchar(50) not null )
二、建立對數據庫的鏈接eclipse
在使用Hibernate進行開發以前,須要一個可以訪問的Database Explorer鏈接配置。選擇菜單window-->Show View-->Data Source Exploreride
選擇Database Connections,右鍵new工具
點擊nextsqlserver
初次使用Hibernate鏈接SQL Server2000,新建驅動定義,提示Unable to locate JAR/zip in file system as specified by the driver definition: msbase.jar.測試
這裏須要安裝SQL Server2000對應的JDBC驅動ui
首先:查看SQL Server2000的具體版本信息
在SQL 查詢分析器中執行SQL腳本:Select @@Version
查詢結果以下:
Microsoft SQL Server 2000 - 8.00.194 (Intel X86) Aug 6 2000 00:57:48 Copyright (c) 1988-2000 Microsoft Corporation Personal Edition on Windows NT 5.1 (Build 2600: Service Pack 3)
而後:下載對應版本的驅動:
下載地址:http://www.microsoft.com/en-us/download/details.aspx?id=21599
解壓zip包,因爲當前開發環境爲jre7,所以選用sqljdbc4.具體如何使用能夠查看幫助,裏面詳細介紹了:C:\Program Files\Microsoft SQL Server JDBC Driver 3.0\sqljdbc_3.0\chs\help\default.htm
導入驅動庫文件
設置數據庫鏈接信息
接下來測試鏈接是否成功
鏈接失敗,提示java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
初步分析,緣由應該是驅動未正確識別,經過檢查驅動定義中Driver Class寫錯了:
當前Eclipse傳教數據鏈接的Driver Class默認值是:com.microsoft.jdbc.sqlserver.SQLServerDriver
從SQL Server JDBC幫助中能夠看到,這裏應該是:com.microsoft.sqlserver.jdbc.SQLServerDriver
修改Driver Class後,從新測試鏈接:提示ping fail,具體信息以下:
java.lang.Exception: Connection failed with unspecified error.
at org.eclipse.datatools.connectivity.DriverConnectionBase.internalCreateConnection(DriverConnectionBase.java:110)
at org.eclipse.datatools.connectivity.DriverConnectionBase.open(DriverConnectionBase.java:54)
at org.eclipse.datatools.connectivity.drivers.jdbc.JDBCConnection.open(JDBCConnection.java:96)
at org.eclipse.datatools.enablement.msft.internal.sqlserver.connection.JDBCSQLServerConnectionFactory.createConnection(JDBCSQLServerConnectionFactory.java:27)
at org.eclipse.datatools.connectivity.internal.ConnectionFactoryProvider.createConnection(ConnectionFactoryProvider.java:83)
at org.eclipse.datatools.connectivity.internal.ConnectionProfile.createConnection(ConnectionProfile.java:359)
at org.eclipse.datatools.connectivity.ui.PingJob.createTestConnection(PingJob.java:76)
at org.eclipse.datatools.connectivity.ui.PingJob.run(PingJob.java:59)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
參考資料:
http://blog.csdn.net/jimmy609/article/details/12560381;http://www.cnblogs.com/qixin622/archive/2009/07/02/1515529.html