ITPub博客

首页 > 数据库 > > 基于JDBC开发-连接数据库

基于JDBC开发-连接数据库

作者:GaussDB_数据库 时间:2020-01-14 10:25:04 0 删除 编辑

在创建数据库连接之后,才能使用它来执行SQL语句操作数据。

函数原型

JDBC提供了三个方法,用于创建数据库连接。

  • DriverManager.getConnection(String url);
  • DriverManager.getConnection(String url, Properties info);
  • DriverManager.getConnection(String url, String user, String password);

参数

表1 数据库连接参数

参数

描述

url

gsjdbc4.jar数据库连接描述符。格式如下:

  • jdbc:postgresql:database
  • jdbc:postgresql://host/database
  • jdbc:postgresql://host:port/database
说明:

使用gsjdbc200.jar时,将“jdbc:postgresql”修改为“jdbc:gaussdb”

  • database为要连接的数据库名称。
  • host为数据库服务器名称或IP地址。

    连接GaussDB 200的机器与GaussDB 200不在同一网段时,host指定的IP地址应为Manager界面上所设的mppdb.coo.cooListenIp2(应用访问IP)的取值。

    由于安全原因,数据库CN禁止集群内部其他节点无认证接入。如果要在集群内部访问CN,请将JDBC程序部署在CN所在机器,host使用"127.0.0.1"。否则可能会出现“FATAL: Forbid remote connection with trust method!”错误。

    建议业务系统单独部署在集群外部,否则可能会影响数据库运行性能。

  • port为数据库服务器端口。

缺省情况下,会尝试连接到localhost的25308端口的database。

info

数据库连接属性。常用的属性如下:

  • user:String类型。表示创建连接的数据库用户。
  • password:String类型。表示数据库用户的密码。
  • ssl:Boolean类型。表示是否使用SSL连接。
  • loggerLevel:string类型。为LogStream或LogWriter设置记录进DriverManager当前值的日志信息量。目前支持"OFF"、"DEBUG"和"TRACE"。 值为"DEBUG"时,表示只打印DEBUG级别以上的日志,将记录非常少的信息。值等于TRACE时,表示打印DEBUG和TRACE级别的日志,将产生详细的日志信息。默认值为OFF,表示不打印日志。
  • prepareThreshold:integer类型。用于确定在转换为服务器端的预备语句之前,要求执行方法PreparedStatement的次数。缺省值是5。
  • batchMode : boolean类型,用于确定是否使用batch模式连接。
  • fetchsize : integer类型,用于设置数据库链接所创建statement的默认fetchsize。
  • ApplicationName:string类型。应用名称,在不做设置时,缺省值为PostgreSQL JDBC Driver。
  • allowReadOnly:boolean类型,用于设置connection是否允许设置readonly模式,默认为true,若该参数设置为false,则执行connnection.setReadOnly不生效。
  • connectionExtraInfo:Boolean类型。表示驱动是否上报当前驱动的部署路径、进程属主用户到数据库。
    说明:

    取值范围:true或false,默认值为false。设置connectionExtraInfo为true,JDBC驱动会将当前驱动的部署路径、进程属主用户上报到数据库中,记录在connection_info参数(参见connection_info)里;同时可以在PG_STAT_ACTIVITY和PGXC_STAT_ACTIVITY中查询到。

user

数据库用户。

password

数据库用户的密码。

示例

//以下用例以gsjdbc4.jar为例,如果要使用gsjdbc200.jar,请替换驱动类名(将代码中的“org.postgresql”替换成“com.huawei.gauss200.jdbc”)与连接URL串前缀(将“jdbc:postgresql”替换为“jdbc:gaussdb”)。
//以下代码将获取数据库连接操作封装为一个接口,可通过给定用户名和密码来连接数据库。
public static Connection GetConnection(String username, String passwd)
{
//驱动类。
String driver = "org.postgresql.Driver";
//数据库连接描述符。
String sourceURL = "jdbc:postgresql://10.10.0.13:25308/postgres";
Connection conn = null;

try
{
//加载驱动。
Class.forName(driver);
}
catch( Exception e )
{
e.printStackTrace();
return null;
}

try
{
//创建连接。
conn = DriverManager.getConnection(sourceURL, username, passwd);
System.out.println("Connection succeed!");
}
catch(Exception e)
{
e.printStackTrace();
return null;
}

return conn;
};


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3118470/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-01-06

  • 博文量
    2907
  • 访问量
    19226