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