【J2EE】Hibernate

  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

相關文章
相關標籤/搜索