JDBC 接口

JDBC (Java Database Connectivity) 是 Java 應(yīng)用程序與數(shù)據(jù)庫(kù)的接口規(guī)范,由一組用Java語(yǔ)言編寫(xiě)的類(lèi)和接口組成,是跨數(shù)據(jù)庫(kù)、跨平臺(tái)的通用 SQL 數(shù)據(jù)庫(kù) API,旨在讓各數(shù)據(jù)庫(kù)開(kāi)發(fā)商為 Java 程序員提供標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)應(yīng)用程序編程接口 (API),可以為多種關(guān)系型數(shù)據(jù)庫(kù)提供統(tǒng)一訪問(wèn)。提供了一種基準(zhǔn),據(jù)此可以構(gòu)建更高級(jí)的工具和接口,使數(shù)據(jù)庫(kù)開(kāi)發(fā)人員能夠編寫(xiě)數(shù)據(jù)庫(kù)應(yīng)用程序。

具體的JDBC知識(shí)請(qǐng)參考 JDBC教程

HGDB JDBC 數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序是一個(gè)能夠支持基本 SQL 功能的通用應(yīng)用程序編程接口,支持一般的 SQL 數(shù)據(jù)庫(kù)訪問(wèn)。

通過(guò) JDBC 驅(qū)動(dòng)程序,用戶可以在應(yīng)用程序中實(shí)現(xiàn)對(duì) HGDB 數(shù)據(jù)庫(kù)的連接與訪問(wèn),JDBC 驅(qū)動(dòng)程序的主要步驟包括:

  • 載入JDBC驅(qū)動(dòng)程序
  • 定義連接URL
  • 建立連接
  • 創(chuàng)建Statement對(duì)象
  • 執(zhí)行查詢或更新
  • 結(jié)果處理
  • 關(guān)閉連接

數(shù)據(jù)庫(kù)驅(qū)動(dòng)包的說(shuō)明

瀚高數(shù)據(jù)庫(kù)jdbc驅(qū)動(dòng)因數(shù)據(jù)庫(kù)版本而異、因jdk版本而異??梢酝ㄟ^(guò)瀚高數(shù)據(jù)庫(kù)驅(qū)動(dòng)jar包的名字來(lái)進(jìn)行定位。

包命名格式: hgdb-數(shù)據(jù)庫(kù)版本號(hào)-jdbc數(shù)字.jar

主要關(guān)注數(shù)據(jù)庫(kù)版本那串和后面數(shù)字那串。

  • 數(shù)據(jù)庫(kù)版本說(shuō)明該jar包適用的瀚高數(shù)據(jù)庫(kù)版本(4.0代表適用所有V4版本數(shù)據(jù)庫(kù),5.0代表適用于所有V5版本數(shù)據(jù)庫(kù))

  • 數(shù)字對(duì)應(yīng)不同的jdk版本(4對(duì)應(yīng)jdk6及以下版本,41對(duì)應(yīng)jdk7版本,42對(duì)應(yīng)jdk8及以上版本)

如:

  • hgdb-5.0-jdbc4.jar 表示支持?jǐn)?shù)據(jù)庫(kù)版本V5.XX及jdk版本為jdk6及以下
  • hgdb-5.0-jdbc42.jar 表示支持?jǐn)?shù)據(jù)庫(kù)版本V5.XX及jdk版本為jdk8及以上

注意:目前最新的版本為6.2.2。6.1.0及以后版本移除了對(duì)jre6/jre7的版本支持。

jar驅(qū)動(dòng)包下載地址:jdbc倉(cāng)庫(kù)地址

驅(qū)動(dòng)調(diào)用

根據(jù)HGDB的jdbc連接格式配置數(shù)據(jù)庫(kù)連接即可。

程序數(shù)據(jù)庫(kù)連接配置:

? 驅(qū)動(dòng):com.highgo.jdbc.Driver

? URL:jdbc:highgo://ip:端口號(hào)/數(shù)據(jù)庫(kù)名

? jdbc:highgo://localhost:5866/highgo(示例)

用戶名:highgo(示例)

? 密碼:highgo123(示例)

開(kāi)發(fā)環(huán)境搭建

軟件 版本
HGDB 安全版V4、企業(yè)版v5及以上版本
JDK 1.6、1.7、1.8
Java IDE Eclipse、IntelliJ IDEA

安裝HGDB數(shù)據(jù)庫(kù)

請(qǐng)參照相關(guān)的 《瀚高數(shù)據(jù)庫(kù)安裝手冊(cè)》

安裝Java開(kāi)發(fā)工具包-JDK

(1) 找到下載完成的 jdk-8u191-windows-x64.exe 可執(zhí)行文件,雙擊運(yùn)行;
(2) 打開(kāi) JDK 的安裝向?qū)?,界面如下,點(diǎn)擊下一步,進(jìn)行自定義安裝:

img

(3) 默認(rèn)安裝路徑,點(diǎn)擊下一步:

img

(4) 安裝完畢,點(diǎn)擊完成。

img

注意:安裝完成后需要配置JDK環(huán)境變量,即將JDK安裝路徑的bin路徑復(fù)制到環(huán)境變量path里,如下圖所示:

環(huán)境變量配置

環(huán)境變量配置成功后,可使用 win+R 打開(kāi)命令提示符,輸入 java -version 命令,可以正常出現(xiàn) JDK 版本號(hào),即環(huán)境變量配置成功,如下圖所示:

JDK 版本號(hào)

Eclipse環(huán)境搭建

(1)配置 JDK :打開(kāi) Eclipse ,在菜單欄選擇Window——Preferences ,然后選擇 Java—Installed JREs,最后點(diǎn)擊 Add ,添加 JDK:

image-20220415161453448

(2)配置 tomcat:打開(kāi) Eclipse,在菜單欄選擇Window —— Preferences ,然后選擇 Server —— RuntimeEnvironments,點(diǎn)擊 Add 選擇安裝的 tomcat 的版本,并瀏覽加載

image-20220415161536793

(3)添加HGDB的Jdbc驅(qū)動(dòng)包:選中項(xiàng)目 ,在菜單欄選擇Project—Properties—Java Build Path

image-20220415161736453

在這里有兩種添加 jar 文件的方式:

  • Add External JARs:選擇項(xiàng)目?jī)?nèi)部的 jar 文件進(jìn)行添加(此種方式前提為此 jar 文件已經(jīng)放到項(xiàng)目的目錄下)

  • Add JARs:為直接添加外部 jar 文件,選擇本地計(jì)算機(jī)的 jar 文件,這種方式的缺陷是,當(dāng)整個(gè)項(xiàng)目被遷移到另外一個(gè)環(huán)境中時(shí),需要重新配置 jdbc。

不管采用哪種方式,在找到 jdbc 的 jar 包之后,將 jar 添加到項(xiàng)目中即可。

示例代碼

連接 HGDB 中 highgo 數(shù)據(jù)庫(kù),student 表數(shù)據(jù)如下:

image-20220415162154318

(1)新建連接數(shù)據(jù)庫(kù)的類(lèi):選擇 Eclipse 的菜單欄,選擇 File—New—Class

image-20220415162224763

(2)填寫(xiě) class 類(lèi)的 name 名稱(chēng):比如 testhighgo

image-20220415162301135

(3)編寫(xiě)代碼

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class testhighgo {
public static void main(String[] args) {
Connection ct=null;
Statement sm=null;
ResultSet rs=null;
try{
//加載HighGo DB的驅(qū)動(dòng)
Class.forName("com.highgo.jdbc.Driver");
ct=DriverManager.getConnection("jdbc:highgo://localhost:5866/highgo","highgo", "test");
sm=ct.createStatement();
//執(zhí)行查詢語(yǔ)句
String sql="select name,num from student order by name";
System.out.println("sql====="+sql);
rs=sm.executeQuery(sql);
//循環(huán)結(jié)果,并打印
while(rs.next()){
System.out.println("nmu===="+rs.getString(2)+"name===="+rs.getString(1));
}
//拋出異常
}catch (Exception e){
e.printStackTrace();
}finally{
//關(guān)閉數(shù)據(jù)庫(kù)連接
try {
if(rs!=null){
rs.close();
}
if(sm!=null){
sm.close();
}
if(ct!=null){
ct.close();
}
}
catch (Exception ex) {
ex.printStackTrace();
}
}
}
}

(4)編譯、運(yùn)行:在項(xiàng)目管理欄中,選擇 testhighgo,右鍵選擇 Run As——Java Application

image-20220415162716047

(5)查看結(jié)果

image-20220415162733846