• Home
  • About Us
  • Privacy Policy
  • Contact Us

BenchResources.Net

Java tutorial for beginners

  • Home
  • Java
    • Java 1.8 Features
    • Java 8 Date/Time
    • JSON/YAML/XML/JAXB
    • Java Basics
    • OOPS
    • String Handling
    • Exception Handling
    • Generics
    • Serialization
    • Collection
    • Concurrent Collection
    • JDBC
  • Spring
    • Spring Core
    • Spring AOP
    • Spring MVC
    • Spring JDBC
    • Spring ORM
    • Spring Security
  • Web Services
    • Apache CXF – REST
    • JBoss RestEasy
    • Jersey 2.x
    • Spring Restful
    • Apache Axis2 RI
    • Apache CXF – SOAP
    • Metro JAX-WS – SOAP
  • Tools
    • Apache Maven
    • Eclipse IDE
    • Eclipse + Maven
    • FileZilla FTP
  • Oracle SOA
    • Oracle SOA 12c
    • Interview Question on SOA
  • Cloud
    • AWS
    • Microsoft Azure
  • Android
  • Interview Q
  • Jobs

Java – Metadata of Resultset using JDBC ResultSetMetaData interface

June 29, 2016 SJ JDBC 0

In this article, we will use ResultSetMetaData interface to extract resultset information like total number of columns and their column names/types of any table

1. Pre-requisite :

  • Java JDK 1.8.0_77
  • MySQL database 5.5.16
  • Eclipse Luna IDE 4.4.0
  • mysql-connector-java-5.1.38.jar file

2. Database parameters :

Let us move on and code an example to connect MySQL database from Java application to extract resultset information using JDBC API. But before that, we will list down required things to connect database

  • database server IP or address (localhost)
  • sever port (3306)
  • database name (PLAYER_INFO)
  • username (root)
  • password (root@123)

Note: All bold are database values to connect MySQL database

3. Metadata of ResultSet using JDBC ResultSetMetaData Interface :

  • As we are ready with required things to connect MySQL database from Java application
  • We can retrieve below listed table information like
    1. number of columns
    2. name of each columns
    3. and their data types
  • Let us code a simple example using Statement Interface

ResultSetInfoUsingJDBCResultSetMetaData.java

package in.bench.resources.mysql.db.metadata;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;

public class ResultSetInfoUsingJDBCResultSetMetaData {

	public static void main(String[] args) {

		// variables
		Connection connection = null;
		Statement statement = null;
		ResultSet resultSet = null;

		// Step 1: Loading or registering MySQL JDBC driver class
		try {
			Class.forName("com.mysql.jdbc.Driver");
		}
		catch(ClassNotFoundException cnfex) {
			System.out.println("Problem in loading MySQL JDBC driver");
			cnfex.printStackTrace();
		}

		// Step 2: Opening database connection
		try {

			// Step 2.A: Create and get connection using DriverManager
			connection = DriverManager.getConnection(
					"jdbc:mysql://localhost:3306/PLAYER_INFO",
					"root",
					"root@123"); 

			// Step 2.B: Creating JDBC Statement
			statement = connection.createStatement();

			// create SQL query to get all players
			String sqlSelectQuery = " SELECT * FROM PLAYER ";

			// Step 2.C: Executing SQL & retrieve data into ResultSet
			resultSet = statement.executeQuery(sqlSelectQuery);

			// retrieve result set metadata information
			ResultSetMetaData resultSetMetaData = resultSet.getMetaData();

			// Column count information
			System.out.println("Number of columns in table: "
					+ resultSetMetaData.getColumnCount() + "\n");

			// Column information
			System.out.println("Name\t\tType");
			System.out.println("====\t\t====");
			for (int i=1; i<=resultSetMetaData.getColumnCount(); i++) {

				System.out.println(resultSetMetaData.getColumnName(i)
						+ "\t\t" + resultSetMetaData.getColumnTypeName(i));
			}
		}
		catch(SQLException sqlex){
			sqlex.printStackTrace();
		}
		finally {
			// Step 3: Closing database connection
			try {
				if(null != connection) {
					// and then finally close connection
					connection.close();
				}
			}
			catch (SQLException sqlex) {
				sqlex.printStackTrace();
			}
		}
	}
}

Output:

Number of columns in table: 4

Name		Type
====		====
PLAYER_ID	INT
NAME		VARCHAR
AGE		INT
MATCHES	        INT

4. Download:

  • JDBC ResulSet Metadata
  • mysql-connector-java-5.1.38.jar

Related Articles :

  • Java – Introduction to JDBC
  • Java – JDBC Driver types
  • Java – Core JDBC components
  • Java – JDBC Driver list for all leading database
  • Java – JDBC connection steps
  • Java – An example to connect MySQL database
  • Java – An example to connect Oracle database
  • Java – An example to connect MS Access database
  • Java 8 – An example to connect MS Access database in Java 8
  • Java – JDBC program to connect IBM DB2 database running on Mainframe z/OS system
  • Java – Creating database using JDBC Statement interface
  • Java – Droping database using JDBC Statement interface
  • Java – Creating a table using JDBC Statement interface
  • Java – Inserting a record using JDBC Statement interface
  • Java – Getting all list of records using JDBC Statement interface
  • Java – Getting single record using JDBC Statement interface
  • Java – Updating a record using JDBC Statement interface
  • Java – Deleting a record using JDBC Statement interface
  • Java – Dropping a table using JDBC Statement interface
  • Java – Batch update using JDBC Statement interface
  • Java – Batch insert using JDBC Statement interface
  • Java – Creating a table using JDBC PreparedStatement interface
  • Java – Inserting a record using JDBC PreparedStatement interface
  • Java – Getting all list of records using JDBC PreparedStatement interface
  • Java – Getting single record using JDBC PreparedStatement interface
  • Java – Updating a record using JDBC PreparedStatement interface
  • Java – Deleting a record using JDBC PreparedStatement interface
  • Java – Batch update using JDBC PreparedStatement interface
  • Java – Batch insert using JDBC PreparedStatement interface
  • Java – Calling Stored Procedure using JDBC CallableStatement interface
  • Java – Calling Stored Function using JDBC CallableStatement interface
  • Java – Calling Stored Procedure using JDBC CallableStatement interface with Batch execution
  • Java – Transaction handling using JDBC Statement interface
  • Java – Transaction handling using JDBC PreparedStatement interface
  • Java – Integration with Spring framework (Spring JDBC)
  • Java – Where clause example using JDBC Statement interface
  • Java – Like clause example using JDBC Statement interface
  • Java – Order by clause example using JDBC Statement interface
  • Java – Metadata of database using JDBC DatabaseMetaData interface
  • Java – Metadata of Resultset using JDBC ResultSetMetaData interface
  • Java – Interview question and answer on JDBC

References :

  • https://docs.oracle.com/javase/7/docs/api/java/sql/ResultSetMetaData.html
  • https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-usagenotes-connect-drivermanager.html
  • https://www.benchresources.net/spring-jdbc-introduction-and-jdbc-example-without-spring/
  • https://docs.oracle.com/javase/tutorial/jdbc/basics/gettingstarted.html
  • https://docs.oracle.com/cd/E11882_01/java.112/e16548/overvw.htm#JJDBC28025
  • http://docs.oracle.com/javase/tutorial/jdbc/basics/index.html
  • https://en.wikipedia.org/wiki/JDBC_driver
  • http://www.devx.com/tips/Tip/28818
  • https://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#forName(java.lang.String)

Happy Coding !!
Happy Learning !!

Java - Interview Questions and Answers on JDBC
Java – Metadata of database using JDBC DatabaseMetaData interface

Related

Related posts:

  1. Java – Interview Questions and Answers on JDBC
  2. Java – Metadata of database using JDBC DatabaseMetaData interface
  3. Java – Getting all list of records using JDBC Statement interface
  4. Java – Getting single record using JDBC Statement interface
  • database
  • database table
  • Java
  • JDBC
  • JDBC Connection steps
  • metadata
  • mysql
  • resultset
  • select query

Search tutorials

Subscribe via Email

Join 236 other subscribers




Proudly powered by Tuto WordPress theme from MH Themes