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,