创建Spring Boot项目
-
通过spring.io快速创建,其他默认即可
image.png
下载gaussdb 200 jdbc驱动
-
从FusionInsight Manager下载的安装客户端中获取驱动jar包。
image.png
解压下载的客户端,路径如下图
image.png
解压后有两个JDBC的驱动jar包:
•gsjdbc4.jar:与PostgreSQL保持兼容的驱动包,其中类名、类结构与PostgreSQL驱动完全一致,曾经运行于PostgreSQL的应用程序可以直接移植到当前系统使用。
•gsjdbc200.jar:如果同一JVM进程内需要同时访问PostgreSQL及GaussDB 200请使用此驱动包,它的主类名为“com.huawei.gauss200.jdbc.Driver”(即将“org.postgresql”替换为“com.huawei.gauss200.jdbc”),数据库连接的URL前缀为“jdbc:gaussdb”,其余与gsjdbc4.jar相同。
导入JDBC驱动
- 在src/main/resources目录下新建lib文件夹,复制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 {
/**
* 创建数据库连接
*
* @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 {
//加载数据库驱动。
Class.forName(driver).newInstance();
} catch (Exception e) {
e.printStackTrace();
return null;
}
try {
//创建数据库连接。
//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;
}
/**
* 执行查询SQL语句。
*
* @param conn 数据库连接
* @return void
* @author kindey.s
* @date 2020/3/12 15:46
*/
public static void SelectTest (Connection conn) {
Statement stmt = null;
try {
stmt = conn.createStatement();
//执行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();
}
}
/**
* 执行insert语句
*
* @param conn 数据库连接
* @param value 插入值
* @return boolean 返回执行是否成功。true:成功;false:失败。默认失败。
* @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();
//执行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;
}
}
}
启动类: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条数据
for (int i = 0; i < 10; i++) {
GaussDBUtil.InsertTest(con, r.nextInt(1000));
rows++;
}
System.out.println("插入" + rows + "条记录");
//查询插入结果并打印控制台
GaussDBUtil.SelectTest(con);
con.close();
}
}
网友评论