以非加密方式连接
JDBC以非加密方式连接数据库,首先要加载驱动,然后再创建数据库连接。因此本章节主要介绍加载驱动方式、创建数据库连接的接口、采用不同接口进行非加密连接。
加载驱动方式介绍
- 在代码中创建连接之前任意位置隐含装载:
Class.forName("com.huawei.opengauss.jdbc.Driver");
- 在JVM启动时参数传递,jdbctest为测试用例程序的名称。
java -Djdbc.drivers=com.huawei.opengauss.jdbc.Driver jdbctest
- 由于GaussDB在JDBC的使用上与PG的使用方法保持兼容,所以同时在同一进程内使用两个JDBC驱动的时候,可能会类名冲突。
- 相比于PG驱动,GaussDB JDBC驱动主要做了以下特性的增强:
- 支持SHA256加密方式登录。
- 支持对接实现sf4j接口的第三方日志框架。
- 支持容灾切换。
创建数据库连接的接口介绍
JDBC提供了三种接口,用于创建数据库连接。url、info、user、password参数描述,请参见表1。
接口一:DriverManager.getConnection(String url)。该方式需要把数据库用户名、密码写在url中,有一定的安全风险,因此不推荐使用。
接口二:DriverManager.getConnection(String url, String user, String password)。具体请参见采用接口二连接数据库。
接口三:DriverManager.getConnection(String url, Properties info)。具体请参见采用接口三连接数据库。
参数 |
描述 |
---|---|
url |
opengaussjdbc.jar数据库连接描述符。格式如下:
说明:
|
info |
数据库连接属性。全量参数请参见连接参数参考。 |
user |
数据库用户名。 |
password |
数据库用户的密码。 |
采用接口二连接数据库
使用DriverManager.getConnection(String url, String user, String password)接口创建数据库连接,命令如下:
- 导入java.sql.Connection和java.sql.DriverManager。
java.sql.Connection是数据库连接接口,通过java.sql.DriverManager的 getConnection() 方法让应用程序连接到数据库。此外,用户需要根据实际的应用场景,再导入其他的接口和类,具体请参见JDBC接口参考。
1 2
import java.sql.Connection; import java.sql.DriverManager;
- 指定数据库sourceURL($ip、$port、database需要用户自行修改)、用户名和密码。
用户名和密码直接写到代码中有很大的安全风险,建议在环境变量中存放。
String sourceURL = "jdbc:opengauss://$ip:$port/database"; String userName = System.getenv("EXAMPLE_USERNAME_ENV"); String password = System.getenv("EXAMPLE_PASSWORD_ENV");
- 加载驱动。
- 在代码运行工具(如IDE)中添加opengaussjdbc.jar包。
- 执行以下命令加载数据库驱动程序“com.huawei.opengauss.jdbc.Driver”。
String driver = "com.huawei.opengauss.jdbc.Driver"; Class.forName(driver);
- 创建数据库连接。
调用DriverManager.getConnection(String url, String user, String password),进行数据库连接。
Connection conn = DriverManager.getConnection(sourceURL, userName, password);
采用接口三连接数据库
使用DriverManager.getConnection(String url, Properties info)接口创建数据库连接,命令如下:
- 导入java.sql.Connection、java.sql.DriverManager、java.util.Properties。
java.util.Properties的setProperty() 方法,用于设置Properties 对象的属性值。此外,用户需要根据实际的应用场景,再导入其他的接口和类,具体请参见JDBC接口参考。
1 2 3
import java.sql.Connection; import java.sql.DriverManager; import java.util.Properties;
- 指定数据库sourceURL($ip、$port、database需要用户自行修改)、用户名和密码。
用户名和密码直接写到代码中有很大的安全风险,建议在环境变量中存放。
String sourceURL = "jdbc:opengauss://$ip:$port/database"; String userName = System.getenv("EXAMPLE_USERNAME_ENV"); String password = System.getenv("EXAMPLE_PASSWORD_ENV");
- 创建Properties 对象,并将userName和password设置为该对象的属性值。
Properties info = new Properties(); info.setProperty("user", userName); info.setProperty("password", password);
- 加载驱动。
- 在代码运行工具(如IDE)中添加opengaussjdbc.jar包。
- 执行以下命令加载数据库驱动程序“com.huawei.opengauss.jdbc.Driver”。
String driver = "com.huawei.opengauss.jdbc.Driver"; Class.forName(driver);
- 创建数据库连接。
调用DriverManager.getConnection(String url, Properties info),进行数据库连接。
1
Connection conn = DriverManager.getConnection(sourceURL, info);