cmd查看mysql版本号_mysql当前版本

cmd查看mysql版本号_mysql当前版本本文介绍如何在Java中通过MySQLJDBC连接AnalyticDBforMySQL集群。MySQLJDBC驱动版本AnalyticDBforMySQL支持以下版本的MySQLJDBC驱动。5.0版本系列:5.0.2,5.0.3,5.0.4,5.0.5,5.0.7,5.0.8。5.1版本系列:5.1.1,5.1.2,5.1.3,5.1.4,5.1.5,5.1.6,5.1.7,5.1…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

本文介绍如何在Java中通过MySQL JDBC连接AnalyticDB for MySQL集群。

MySQL JDBC驱动版本

AnalyticDB for MySQL支持以下版本的MySQL JDBC驱动。

5.0版本系列:5.0.2,5.0.3,5.0.4,5.0.5,5.0.7,5.0.8。

5.1版本系列:5.1.1,5.1.2,5.1.3,5.1.4,5.1.5,5.1.6,5.1.7,5.1.8,5.1.11,5.1.12,5.1.13,5.1.14,5.1.15,5.1.16,5.1.17,5.1.18,5.1.19,5.1.20,5.1.21,5.1.22,5.1.23,5.1.24,5.1.25,5.1.26,5.1.27,5.1.28,5.1.29,5.1.31,

5.1.32, 5.1.33, 5.1.34。

MySQL 8.0。

注意事项

Java中创建MySQL JDBC连接依赖于MySQL-JDBC驱动包,您需要手动将MySQL-JDBC驱动包(mysql-connector-java-x.x.x.jar)加入到CLASSPATH中,否则无法创建MySQL JDBC连接。

不带重试的JDBC连接示例

您可以在业务系统的Java代码中添加以下代码,通过MySQL JDBC连接AnalyticDB for MySQL数据库。

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();

}

}

}

带重试的JDBC连接示例

在JDBC中通过配置参数可以实现连接重试机制。

public static final int MAX_QUERY_RETRY_TIMES = 3;

public static Connection conn = null;

public static Statement statement = null;

public static ResultSet rs = null;

public static void main(String[] args) throws ClassNotFoundException {

//AnalyticDB for MySQL集群中的数据库名称。

String yourDB = “db_name”;

//AnalyticDB for MySQL集群中的用户账号:高权限账号或者普通账号。

String username = “account_name”;

//AnalyticDB for MySQL集群中用户账号对应的密码。

String password = “account_password”;

Class.forName(“com.mysql.jdbc.Driver”);

//adb_url是AnalyticDB for MySQL集群的连接地址URL,可以在控制台的集群信息页面获取连接URL,3306是端口号。

String url = “jdbc:mysql://adb_url:3306/” + yourDB + “?useUnicode=true&characterEncoding=UTF-8”;

Properties connectionProps = new Properties();

connectionProps.put(“user”, username);

connectionProps.put(“password”, password);

String query = “select id from test4dmp.test limit 10”;

int retryTimes = 0;

// 通过循环自动重试。

while (retryTimes < MAX_QUERY_RETRY_TIMES) {

try {

getConn(url, connectionProps);

execQuery(query);//执行query。

break; // query执行成功后,结束整个循环。

} catch (SQLException e) {

System.out.println(“Met SQL exception: ” + e.getMessage() + “, then go to retry task …”);

try {

if (conn == null || conn.isClosed()) {

retryTimes++;

}

} catch (SQLException e1) {

if (conn != null) {

try {

conn.close();

} catch (SQLException e2) {

e.printStackTrace();

}

}

}

}

}

// Clear connection resource.

closeResource();

}

/**

* Get connection.

*

* @param url

* @param connectionProps

* @throws SQLException

*/

public static void getConn(String url, Properties connectionProps) throws SQLException {

conn = DriverManager.getConnection(url, connectionProps);

}

/**

* Query task execution logic.

*

* @param sql

* @throws SQLException

*/

public static void execQuery(String sql) throws SQLException {

Statement statement = null;

ResultSet rs = null;

statement = conn.createStatement();

for (int i = 0; i < 10; i++) {

long startTs = System.currentTimeMillis();

rs = statement.executeQuery(sql);

int cnt = 0;

while (rs.next()) {

cnt++;

System.out.println(rs.getObject(1) + ” “);

}

long endTs = System.currentTimeMillis();

System.out.println(“Elapse Time: ” + (endTs – startTs));

System.out.println(“Row count: ” + cnt);

try {

Thread.sleep(160000);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

/**

* Close connection resource.

*/

public static void closeResource() {

if (rs != null) {

try {

rs.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

if (statement != null) {

try {

statement.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

if (conn != null) {

try {

conn.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/194042.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 登录页面的代码

    登录页面的代码开发工具与关键技术:MVC/JavaScript作者:邱慧敏撰写时间:2019/06/25在把页面和数据库做好之后,我的登录页面只需要用户名和密码,所以代码比较简单。先找到登录按钮,给一个点击事件,然后再获取他们的表单值,然后对用户名和密码进行判断,判断是否填写了资料和是否是正确的账户和密码,在这之前还要检查登录页面是否是属于外层页面。dataValidationFo…

    2022年4月4日
    55
  • Ruby On Rails 4 hello world,Ruby On Rails上手

    Ruby On Rails 4 hello world,Ruby On Rails上手

    2021年11月29日
    39
  • JDBC中DatabaseMetaData用法

    JDBC中DatabaseMetaData用法DatabaseMetaData类中提供了许多方法用于获得数据源的各种信息,通过这些方法可以非常详细的了解数据库的信息。就如我们上面例子中所显示的几个信息[其他的方法请读者参考JDKAPI中的DatabaseMetaData类]:getURL()返回一个String类对象,代表数据库的URL。getUserName()返回连接当前数据库管理系统的用户名。isReadOnly(…

    2022年6月19日
    37
  • 答读者问(5):关于数学程序猿的作用、r \\ u0026研发工作的实践要求和问题,如求职的影响

    答读者问(5):关于数学程序猿的作用、r \\ u0026研发工作的实践要求和问题,如求职的影响

    2022年1月7日
    32
  • scl语言用plc脉冲做定时器_PLC编程,如何学习SCL语言?SCL语言编程入门「建议收藏」

    scl语言用plc脉冲做定时器_PLC编程,如何学习SCL语言?SCL语言编程入门「建议收藏」随着现代工控技术的不断发展,可能很多使用过PLC的技术人员都有这么一个感受:传统的‘梯形图’编程方式在面对越来越复杂的控制要求时,已显得力不从心。其实,现在很多大品牌的中高级PLC都支持国际电工委员会IEC61131标准中规范的五种编程语言的混合编程,即梯形图(LD)、结构化文本(ST)、流程图(SFC)、指令表(IL)和功能块(FB)。在这五种编程语言中,梯形图+结构化文本是一…

    2022年10月6日
    3
  • 如何搭建自己的SpringBoot源码调试环境? SpringBoot源码(一)「建议收藏」

    如何搭建自己的SpringBoot源码调试环境? SpringBoot源码(一)「建议收藏」1前言这是SpringBoot2.1源码分析专题的第一篇文章,主要讲如何来搭建我们的源码阅读调试环境。如果有经验的小伙伴们可以略过此篇文章。2环境安装要求IntelliJIDEAJDK1.8Maven3.5以上3从github上将SpringBoot源码项目下载下来首先提供SpringBoot2.1.0的github地址:点这里下载因为要进行阅读源码和分析源码项目,我们是不是要在里面写一些注释帮助我们阅读理解源码,因此需要将SpringBoot源码项目fork到自己的github

    2022年5月8日
    100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号