JAVA连接ADS数据库
分析型数据库MySQL版(AnalyticDB for MySQL)是一种高并发低延时的PB级实时数据仓库,全面兼容MySQL协议以及SQL:2003 语法标准
1.连接字符串
String url = “jdbc:mysql://adb_url:3306/db_name?useUnicode=true&characterEncoding=UTF-8”;
Connection connection = null;
Statement statement = null;
ResultSet rs = null;
try {
Class.forName(“com.mysql.jdbc.Driver”);
//adb_url是AnalyticDB for MySQL集群的连接地址URL,可以在控制台的集群信息页面获取连接URL,3306是端口号。
//db_name是AnalyticDB for MySQL集群中的数据库名称。
String url = “jdbc:mysql://adb_url:3306/db_name?useUnicode=true&characterEncoding=UTF-8”;
Properties connectionProps = new Properties();
//account_name是AnalyticDB for MySQL集群中的用户账号:高权限账号或者普通账号。
connectionProps.put(“user”, “account_name”);
//account_password是AnalyticDB for MySQL集群中用户账号对应的密码。
connectionProps.put(“password”, “account_password”);
connection = DriverManager.getConnection(url, connectionProps);
statement = connection.createStatement();
String query = “select count(*) from information_schema.tables”;
rs = statement.executeQuery(query);
while (rs.next()) {
System.out.println(rs.getObject(1));
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (statement != null) {
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
adb_url:AnalyticDB for MySQL的连接地址,通过控制台 > 集群信息页面中的网络信息版块获取连接地址。
3306:端口为3306。
adb_user:AnalyticDB for MySQL中的高权限账号或者拥有相关权限的普通账号。
adb_password:账号对应的密码。