How to Get Index Infomation

From Java Example Source Code

Jump to: navigation, search

Contents

[edit] Overview - How to Get Index Infomation

This Java example program shows how to get index infomation through DatabaseMetaData with JDBC.

[edit] Java Source Code

  • Package: example.jdbc.index
  • File: Main1.java
package example.jdbc.index;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
 
public class Main1 {
    public static void main(String[] args) throws Exception {
	Connection conn = getMySqlConnection();
	System.out.println("Got Connection.");
	Statement st = conn.createStatement();
	st.executeUpdate("drop table survey;");
	st.executeUpdate("create table survey (id int,name varchar(30));");
	st.executeUpdate("insert into survey (id,name ) values (1,'nameValue')");
 
	ResultSet indexInformation = null;
	DatabaseMetaData meta = conn.getMetaData();
 
	// The '_' character represents any single character.
	// The '%' character represents any sequence of zero
	// or more characters.
	indexInformation = meta.getIndexInfo(conn.getCatalog(), null, "survey", true, true);
	while (indexInformation.next()) {
	    String dbCatalog = indexInformation.getString("TABLE_CATALOG");
	    String dbSchema = indexInformation.getString("TABLE_SCHEMA");
	    String dbTableName = indexInformation.getString("TABLE_NAME");
	    boolean dbNoneUnique = indexInformation.getBoolean("NON_UNIQUE");
	    String dbIndexQualifier = indexInformation.getString("INDEX_QUALIFIER");
	    String dbIndexName = indexInformation.getString("INDEX_NAME");
	    short dbType = indexInformation.getShort("TYPE");
	    short dbOrdinalPosition = indexInformation.getShort("ORDINAL_POSITION");
	    String dbColumnName = indexInformation.getString("COLUMN_NAME");
	    String dbAscOrDesc = indexInformation.getString("ASC_OR_DESC");
	    int dbCardinality = indexInformation.getInt("CARDINALITY");
	    int dbPages = indexInformation.getInt("PAGES");
	    String dbFilterCondition = indexInformation.getString("FILTER_CONDITION");
 
	    System.out.println("index name=" + dbIndexName);
	    System.out.println("table=" + dbTableName);
	    System.out.println("column=" + dbColumnName);
	    System.out.println("catalog=" + dbCatalog);
	    System.out.println("schema=" + dbSchema);
	    System.out.println("nonUnique=" + dbNoneUnique);
	    System.out.println("indexQualifier=" + dbIndexQualifier);
	    System.out.println("type=" + dbType);
	    System.out.println("ordinalPosition=" + dbOrdinalPosition);
	    System.out.println("ascendingOrDescending=" + dbAscOrDesc);
	    System.out.println("cardinality=" + dbCardinality);
	    System.out.println("pages=" + dbPages);
	    System.out.println("filterCondition=" + dbFilterCondition);
	}
 
	st.close();
	conn.close();
    }
 
    private static Connection getHSQLConnection() throws Exception {
	Class.forName("org.hsqldb.jdbcDriver");
	System.out.println("Driver Loaded.");
	String url = "jdbc:hsqldb:data/tutorial";
	return DriverManager.getConnection(url, "sa", "");
    }
 
    public static Connection getMySqlConnection() throws Exception {
	String driver = "org.gjt.mm.mysql.Driver";
	String url = "jdbc:mysql://localhost/demo2s";
	String username = "oost";
	String password = "oost";
 
	Class.forName(driver);
	Connection conn = DriverManager.getConnection(url, username, password);
	return conn;
    }
 
    public static Connection getOracleConnection() throws Exception {
	String driver = "oracle.jdbc.driver.OracleDriver";
	String url = "jdbc:oracle:thin:@localhost:1521:caspian";
	String username = "mp";
	String password = "mp2";
 
	Class.forName(driver); // load Oracle driver
	Connection conn = DriverManager.getConnection(url, username, password);
	return conn;
    }
}

[edit] What Result You Can Get

Coming soon... Run the program, you will get:

Replace with the result of you Java program.

[edit] Required External Libraries and/or Files for this Java Example

In order to run this Java example, one of the following libraries may be required: In order to run this example program, one of the following libraries may be required:


[edit] How to Run this Java Example Program

We recommend running this Java example program with Eclipse.

For assistance in working with Eclipse, please see How to Run Java Program with Eclipse.

It's fairly easy.



[edit] Question & Answer

Any question?

Click edit and post your question or answer here.


Personal tools