創(chuàng)建Spring Boot項(xiàng)目
-
通過spring.io快速創(chuàng)建制轰,其他默認(rèn)即可
image.png
下載gaussdb 200 jdbc驅(qū)動(dòng)
-
從FusionInsight Manager下載的安裝客戶端中獲取驅(qū)動(dòng)jar包。
image.png
解壓下載的客戶端白华,路徑如下圖
image.png
解壓后有兩個(gè)JDBC的驅(qū)動(dòng)jar包:
?gsjdbc4.jar:與PostgreSQL保持兼容的驅(qū)動(dòng)包矢沿,其中類名、類結(jié)構(gòu)與PostgreSQL驅(qū)動(dòng)完全一致,曾經(jīng)運(yùn)行于PostgreSQL的應(yīng)用程序可以直接移植到當(dāng)前系統(tǒng)使用奶躯。
?gsjdbc200.jar:如果同一JVM進(jìn)程內(nèi)需要同時(shí)訪問PostgreSQL及GaussDB 200請(qǐng)使用此驅(qū)動(dòng)包,它的主類名為“com.huawei.gauss200.jdbc.Driver”(即將“org.postgresql”替換為“com.huawei.gauss200.jdbc”)亿驾,數(shù)據(jù)庫連接的URL前綴為“jdbc:gaussdb”嘹黔,其余與gsjdbc4.jar相同。
導(dǎo)入JDBC驅(qū)動(dòng)
- 在src/main/resources目錄下新建lib文件夾莫瞬,復(fù)制gsjdbc200.jar到目錄下儡蔓。
[圖片上傳失敗...(image-984bfc-1583999891803)]
編輯pom.xml文件,加入jar的依賴:
<dependency>
<groupId>com.huawei.gauss.jdbc.ZenithDriver</groupId>
<artifactId>gauss</artifactId>
<version>0.0.1</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/lib/gsjdbc200.jar</systemPath>
</dependency>
demo代碼
Util類:GaussDBUtil
package com.zh.gaussdb_demo1;
import java.sql.*;
/**
* gaussdb_demo1
* 2020/3/12
* GaussDB連接封裝
*
* @author kindey.s
**/
public class GaussDBUtil {
/**
* 創(chuàng)建數(shù)據(jù)庫連接
*
* @param username 用戶名
* @param passwd 密碼
* @return java.sql.Connection
* @author kindey.s
* @date 2020/3/12 15:45
*/
public static Connection GetConnection (String username, String passwd) {
String driver = "com.huawei.gauss200.jdbc.Driver";
String sourceURL = "jdbc:gaussdb://192.168.3.241:25308/db_test";
Connection conn = null;
try {
//加載數(shù)據(jù)庫驅(qū)動(dòng)疼邀。
Class.forName(driver).newInstance();
} catch (Exception e) {
e.printStackTrace();
return null;
}
try {
//創(chuàng)建數(shù)據(jù)庫連接喂江。
//getConnection(String url, String user, String password)
conn = DriverManager.getConnection(sourceURL, username, passwd);
System.out.println("Connection succeed!");
} catch (Exception e) {
e.printStackTrace();
return null;
}
return conn;
}
/**
* 執(zhí)行查詢SQL語句。
*
* @param conn 數(shù)據(jù)庫連接
* @return void
* @author kindey.s
* @date 2020/3/12 15:46
*/
public static void SelectTest (Connection conn) {
Statement stmt = null;
try {
stmt = conn.createStatement();
//執(zhí)行SELECT語句旁振。
ResultSet rs = stmt.executeQuery("select * from t_test");
while (rs.next()) {
System.out.println("c1:" + rs.getString(1));
}
stmt.close();
} catch (SQLException e) {
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e1) {
e1.printStackTrace();
}
}
e.printStackTrace();
}
}
/**
* 執(zhí)行insert語句
*
* @param conn 數(shù)據(jù)庫連接
* @param value 插入值
* @return boolean 返回執(zhí)行是否成功获询。true:成功;false:失敗规求。默認(rèn)失敗筐付。
* @author kindey.s
* @date 2020/3/12 15:47
*/
public static boolean InsertTest (Connection conn, int value) {
Statement stmt = null;
boolean success = false;
try {
stmt = conn.createStatement();
//執(zhí)行INSERT語句。
success = stmt.execute("insert into t_test values (" + value + ")");
stmt.close();
} catch (SQLException e) {
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e1) {
e1.printStackTrace();
}
}
e.printStackTrace();
} finally {
return success;
}
}
}
啟動(dòng)類:GaussdbDemo1Application
package com.zh.gaussdb_demo1;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Random;
@SpringBootApplication
public class GaussdbDemo1Application {
public static void main (String[] args) throws SQLException {
SpringApplication.run(GaussdbDemo1Application.class, args);
String userName = "u_test";
String passwd = "test123.";
Connection con = GaussDBUtil.GetConnection(userName, passwd);
Random r = new Random(1);
int rows = 0;
//插入10條數(shù)據(jù)
for (int i = 0; i < 10; i++) {
GaussDBUtil.InsertTest(con, r.nextInt(1000));
rows++;
}
System.out.println("插入" + rows + "條記錄");
//查詢插入結(jié)果并打印控制臺(tái)
GaussDBUtil.SelectTest(con);
con.close();
}
}
運(yùn)行結(jié)果
image.png