JDBC for MySQL - Herong's Tutorial Examples - v3.13, by Herong Yang
Getting Driver and Server Information
This section describes how to get JDBC driver and database information through the DatabaseMetaData object.
Once you have created a database connection object, you can obtain some version information about the JDBC driver and database server through the DatabaseMetaData object as shown in the following program:
/* MySqlDatabaseInfo.java
* Copyright (c) HerongYang.com. All Rights Reserved.
*/
import java.sql.*;
import javax.sql.*;
public class MySqlDatabaseInfo {
public static void main(String [] args) {
Connection con = null;
try {
// Setting up the DataSource object - newer version
com.mysql.cj.jdbc.MysqlDataSource ds
= new com.mysql.cj.jdbc.MysqlDataSource();
// Setting up the DataSource object - older version
// com.mysql.jdbc.jdbc2.optional.MysqlDataSource ds
// = new com.mysql.jdbc.jdbc2.optional.MysqlDataSource();
ds.setServerName("localhost");
ds.setPortNumber(3306);
ds.setDatabaseName("HerongDB");
ds.setUser("Herong");
ds.setPassword("TopSecret");
ds.setServerTimezone(java.util.TimeZone.getDefault().getID());
// Getting a connection object
con = ds.getConnection();
// Getting driver and database info
DatabaseMetaData meta = con.getMetaData();
System.out.println("Server name: "
+ meta.getDatabaseProductName());
System.out.println("Server version: "
+ meta.getDatabaseProductVersion());
System.out.println("Driver name: "
+ meta.getDriverName());
System.out.println("Driver version: "
+ meta.getDriverVersion());
System.out.println("JDBC major version: "
+ meta.getJDBCMajorVersion());
System.out.println("JDBC minor version: "
+ meta.getJDBCMinorVersion());
// Closing the connection
con.close();
} catch (Exception e) {
System.err.println("Exception: "+e.getMessage());
}
}
}
The output confirms that JDBC driver mysql-connector-java-8.0.27.jar is a JDBC 4.2 driver:
herong> javac -cp .:mysql-connector-java.jar MySqlDatabaseInfo.java herong> java -cp .:mysql-connector-java.jar MySqlDatabaseInfo Server name: MySQL Server version: 8.0.17 Driver name: MySQL Connector/J Driver version: mysql-connector-java-8.0.27 (Revision: ...) JDBC major version: 4 JDBC minor version: 2
As a reference, here is the output of the same program using JDK 8 and JDBC driver 5.1.36:
herong> javac -cp .:mysql-connector-java-5.1.36-bin.jar \ MySqlDatabaseInfo.java herong> java -cp .:mysql-connector-java-5.1.36-bin.jar MySqlDatabaseInfo Server name: MySQL Server version: 5.5.15 Driver name: MySQL Connector Java Driver version: mysql-connector-java-5.1.36 ( Revision: ... ) JDBC major version: 4 JDBC minor version: 0
Table of Contents
JDBC (Java Database Connectivity) Introduction
►MySQL JDBC Driver (MySQL Connector/J)
MySQL Connector/J - Download and Installation
Loading JDBC Driver for MySQL Server
Specifying Timezone During Connection
Creating Connections with DataSource Class
►Getting Driver and Server Information
Creating Tables with AUTO_INCREMENT Columns
MySQL - Reference Implementation of JdbcRowSet
MySQL - JBDC CallableStatement
MySQL CLOB (Character Large Object) - TEXT
MySQL BLOB (Binary Large Object) - BLOB