JDBC DatabaseMetaData

In the previous tutorial, we have discussed about what is ResultSetMetaData with example. DatabaseMetaData is some thing similar like ResultSetMetaData.

DtabaseMetaData in JDBC :

Here we listed some of the important points about DatabaseMetaData in JDBC.

  1. ◈ DatabaseMetaData is an interface, which is coming from java.sql package.
  2. ◈ We can use the DatabaseMetaData, when we want to know about database capabilities.
  3. ◈ DatabaseMetaData helps while creating the database tools.
  4. ◈ We can get the capabilities of a database by calling the getMetaData() on connection object.
  5. 
                                    java.sql.DatabaseMetaData dbMetaData = connection.getMetaData();
                                

DatabaseMetaData in JDBC Example :

                        package com.java.session.ninteen;

                        import java.sql.Connection;
                        import java.sql.DriverManager;

                        public class JdbcDatabaseMetaDataExample {
                            static final String DB_URL = "jdbc:mysql://localhost/emp";
                            static final String USER = "root";
                            static final String PASS = "PASSWORD";

                            public static void main(String[] args) throws Exception {
                                Connection connection = null;

                                connection = DriverManager.getConnection(DB_URL, USER, PASS);
                                java.sql.DatabaseMetaData dbMetaData = connection.getMetaData();

                                System.out.println("Database Name=  "
                                        + dbMetaData.getDatabaseProductName());
                                System.out.println("Database version=  "
                                        + dbMetaData.getDatabaseProductVersion());
                                System.out.println("Database Driver version=  "
                                        + dbMetaData.getDriverVersion());
                                System.out.println("Sql keywords = " + dbMetaData.getSQLKeywords());
                                System.out.println("numeric functions=  "
                                        + dbMetaData.getNumericFunctions());
                                System.out.println("String functions=  "
                                        + dbMetaData.getStringFunctions());
                                System.out.println("Search String Escapre=  "
                                        + dbMetaData.getSearchStringEscape());
                                System.out.println("Supported storage procedures=  "
                                        + dbMetaData.supportsStoredProcedures());
                                System.out.println("getMaxRowSize=" + dbMetaData.getMaxRowSize());
                                System.out.println("getMaxStatement length=  "
                                        + dbMetaData.getMaxStatementLength());
                                System.out.println("get max tables in a select query=  "
                                        + dbMetaData.getMaxTablesInSelect());
                                System.out.println("get Max Length of Table Name=  "
                                        + dbMetaData.getMaxTableNameLength());
                                System.out.println("jdbc api version is=  "
                                        + dbMetaData.getJDBCMinorVersion());
                                
                                connection.close();
                            }
                        }