JDBC Tutorials - Herong's Tutorial Examples - v3.12, by Dr. 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"); // 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
Installing and Running Java DB - Derby
Derby (Java DB) JDBC DataSource Objects
Java DB (Derby) - DML Statements
Java DB (Derby) - ResultSet Objects of Queries
Java DB (Derby) - PreparedStatement
►MySQL JDBC Driver (MySQL Connector/J)
MySQL Connector/J - Download and Installation
Loading JDBC Driver for MySQL Server
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
Oracle Express Edition Installation on Windows
Oracle - Reference Implementation of JdbcRowSet
Oracle - JBDC CallableStatement
Oracle CLOB (Character Large Object) - TEXT
Oracle BLOB (Binary Large Object) - BLOB
Microsoft SQL Server Express Edition
Microsoft JDBC Driver for SQL Server
Microsoft JDBC Driver - Query Statements and Result Sets
Microsoft JDBC Driver - DatabaseMetaData Object
Microsoft JDBC Driver - DDL Statements
Microsoft JDBC Driver - DML Statements
SQL Server - PreparedStatement
SQL Server CLOB (Character Large Object) - TEXT
SQL Server BLOB (Binary Large Object) - BLOB
JDBC-ODBC Bridge Driver - sun.jdbc.odbc.JdbcOdbcDriver
JDBC-ODBC Bridge Driver - Flat Text Files
JDBC-ODBC Bridge Driver - MS Access
JDBC-ODBC Bridge Driver - MS SQL Server
Summary of JDBC Drivers and Database Servers