el uso de Java JDBC Metadatos

1. Diseño

 Los conceptos de diseño:

Opción

Constructor

Fábrica

Servicio - Contexto

Handler - Adept

 

2. Obtener la tabla

    estática  vacío getDataset () {
        Connection con = JdbcUtil.getConn ();
        tratar
        {
            // Recupera la descripción dada en el catálogo de mesas disponibles. Devolver sólo con el catálogo, esquema, nombre de tabla y criterios de tipo de juego muestra en la tabla.
            // en el tipo de tabla, tipo de tabla, los planes de la tabla y los nombres de tabla ordenados
             // directorio Cataog que contiene el nombre de la cadena. Este parámetro proporciona un valor nulo indica que sin el uso de nombres de directorio.
            // El esquema contiene el nombre de esquema modo de Valor de cadena. Proporcionar este parámetro indica un valor Null sin el uso de nombre de esquema, que corresponden a: una base de datos
             // tabla tableNamePattern cadena contiene el nombre del modelo
             // tipos que contienen tipo de cadena tabla matriz para ser incluidos. Nula representa debe contener todos los tipos de tabla, por lo general los tipos de "mesa", "The View", "La tabla de sistema", "GLOBAL temporal", "el local temporal", "Alias", "sinónimo" 
            Cadena Catálogo = "Día";   / / correspondencia nombre de la base 
            de cuerdas schemaPattern = "*";Nombre de base de datos de correspondencia 
            String [] = {tipos "TABLE"}; // base de datos de tipo particular de "mesa", "vista", "SYSTEM TABLE", "Temporal Global", "local temporal", "Alias" y "SINÓNIMO ". 
            Los metadatos = la DatabaseMetaData con.getMetaData ();
            ResultSet ret = metaData.getTables ( nulo , nulo , nulo , los tipos);
            mientras que (ret.next ()) {


                Cadena CatalogName = ret.getString (1 );
                Cadena schemaName = ret.getString (2 );
                Cadena nombreTabla = ret.getString (3 );
                Cadena columName = ret.getString (6 );
                System.out.println (nombreTabla);
                System.out.println (CatalogName);
                System.out.println (columName);

//                 ResultSetMetaData RsmD = ret.getMetaData ();
//                 int count = rsmd.getColumnCount ();
//                 for (int i = 1; i <= cuenta; i ++)
 //                 {
 //                     System.out.print (ret.getString (i) + "\ n \ t");
//                 }
                 // System.out.println ( " "+ nombre de usuario +" "+ cumpleaños +" "+ sexo +"" + dirección); 
            }
        } Catch (SQLException e) {
            e.printStackTrace ();
        }
    }

 

3. Get colomn

    estática  vacío GetColumn (String nombre de tabla) lanza SQLException {
        Conn Conexión = JdbcUtil.getConn ();
        Metadatos DatabaseMetaData = conn.getMetaData ();
         //
         Cadena Cataog = "ucent"; // corresponde al nombre de la base 
        de cuerdas schemaPattern = "*"; // MySQL no tiene autorización para operar este concepto de servidor SQL correspondiente nombre de usuario 
        cadena tableNamePattern = NombreTabla; //
         columnNamePattern = cadena nula ;

        Resultado ResultSet = metaData.getColumns (catálogo, schemaPattern, tableNamePattern, columnNamePattern);

        mientras que (result.next ()) {
 //             Cadena columName = result.getString (4); // 列名称
 //             Cadena data_type = result.getString (5); // 列类型
 //             System.out.println (columName);
//             System.out.println (data_type); 

            Cadena columnName = result.getString ( "COLUMN_NAME" );
            ColumnType Cadena = result.getString ( "The TYPE_NAME"); // Tipo de datos 
            String = result.getString la observación ( "Observaciones para"); // Tipo de datos 
            int la datasize = result.getInt ( "COLUMN_SIZE"); // longitud de campo 
            int dígitos result.getInt = ( "DECIMAL_DIGITS"); // cifras decimales 
            int anulable = result.getInt ( "anulable" );

            System.out.println (columnName + " "+ columnType +" "+ datasize +" "+ dígitos +" "+ anulable +"" + observación);

//             ResultSetMetaData RsmD = result.getMetaData ();
//             int count = rsmd.getColumnCount ();
//             for (int i = 1; i <= cuenta; i ++)
 //             {
 //                 System.out.print (result.getString (i) + "\ n \ t");
//             } 
        }
    }
NOTA: result.getString ( ""); los campos correspondientes se denominan de la siguiente manera:
TABLE_CAT,
TABLE_SCHEM,
NOMBRE DE LA TABLA,
COLUMN_NAME,
TIPO DE DATOS,
ESCRIBE UN NOMBRE,
COLUMN_SIZE,
BUFFER_LENGTH,
DÍGITOS DECIMALES,
NUM_PREC_RADIX;
anulable,
OBSERVACIONES,
COLUMN_DEF,
SQL_DATA_TYPE,
SQL_DATETIME_SUB,
CHAR_OCTET_LENGTH,
ORDINAL_POSITION,
IS_NULLABLE,
SCOPE_CATALOG,
SCOPE_SCHEMA,
SCOPE_TABLE,
SOURCE_DATA_TYPE,
IS_AUTOINCREMENT,
IS_GENERATEDCOLUMN,

 

Supongo que te gusta

Origin www.cnblogs.com/leolzi/p/12552245.html
Recomendado
Clasificación