Java examples for JDBC:H2
Read table formation from h2 database
import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; import org.h2.jdbcx.JdbcDataSource; public class TestMetadataH2 { static Connection conn; public static void main(String[] args) { /* w ww . java 2 s. co m*/ try{ creaConexion(); DatabaseMetaData dbmd = conn.getMetaData(); //Creamos objeto ResultSet resul = null; Statement sentencia = conn.createStatement(); String nombre = dbmd.getDatabaseProductName(); String driver = dbmd.getDriverName(); String url = dbmd.getURL(); String usuario = dbmd.getUserName(); System.out.println("Nombre : "+ nombre); System.out.println("Driver : "+ driver); System.out.println("URL : "+ url); System.out.println("Usuario : "+ usuario); //Obtener informaci?n de las tablas y vistas que hay resul = dbmd.getTables(null, null, null, new String[] {"TABLE"}); while(resul.next()){ String catalogo = resul.getString(1); //columna 1 que devuelve ResulSet String esquema = resul.getString(2); //columna 2 String tabla = resul.getString(3); //columna 3 String tipo = resul.getString(4); //columna 4 System.out.println(tipo + " - Catalogo: "+ catalogo + ", Esquema : "+esquema+", Nombre: "+tabla); } //Recopila informaci?n sobre las columnas resul = sentencia.executeQuery("SELECT * FROM DEPARTAMENTOS"); ResultSetMetaData rsmd = resul.getMetaData(); int nColumnas = rsmd.getColumnCount(); String nula; System.out.println(nColumnas); //Recorre las columnas y sus datos for (int i=1; i <= nColumnas;i++){ System.out.println("Columna "+i+":" ); System.out.println(" Nombre : " +rsmd.getColumnName(i)); System.out.println(" Tipo : " +rsmd.getColumnTypeName(i)); if (rsmd.isNullable(i)==0) nula="NO"; else nula="SI"; System.out.println(" Puede ser nula? : "+nula); System.out.println(" M?ximo ancho de la columna : " +rsmd.getColumnDisplaySize(i)); } conn.close(); //cerrar conexion } catch (SQLException e) {e.printStackTrace();} } public static void creaConexion() { JdbcDataSource ds = new JdbcDataSource(); ds.setURL("jdbc:h2:file:C:/data/ejemplo"); ds.setUser("sa"); //ds.setPassword("sa"); try { conn = ds.getConnection(); } catch (Exception e) { System.err.println("IOException: " + e.getMessage()); } finally { } } }