En este post mostramos un ejemplo de uso de la interface ResultSetMetaData el cual se extiende Wrapper que es una interfaz para las clases JDBC.
ResultSetMetaData nos sirve para consultar información (tipos y propiedades) sobre las columnas de un objeto ResultSet. Por ejemplo:
Para el ejemplo del post, usaremos la siguiente tabla llamada «mitabla«:
CREATE TABLE mitabla ( id int(20) NOT NULL PRIMARY KEY AUTO_INCREMENT, nombre varchar(64) NOT NULL, fnacimiento date NOT NULL, bio varchar(500) DEFAULT NULL, mail varchar(32) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
El código java es el siguiente:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; /** * @see https://www.jc-mouse.net/ * @author mouse */ public class Main { public static void main(String[] args) { String sql = " SELECT id, " + " nombre AS NombreCompleto," + " fnacimiento AS FechaNacimiento, " + " bio AS Biografia " + " FROM mitabla "; try (Connection connection = DriverManager .getConnection("jdbc:mariadb://localhost:3306/TutorialJava", "root", "")) { System.out.println("Conectado a la base de datos"); System.out.println("--- METADATOS ---"); ResultSet resultset = connection.createStatement().executeQuery(sql); ResultSetMetaData resultSetMetaData = resultset.getMetaData(); int totalCoumnas = resultSetMetaData.getColumnCount(); System.out.println("Total columnas: " + totalCoumnas); for (int col = 1; col <= totalCoumnas; col++) { System.out.println("\n--------------------------"); System.out.println("TABLA: " + resultSetMetaData.getColumnName(col)); System.out.println(" Tipo: " + resultSetMetaData.getColumnTypeName(col) + " Tamaño: " + resultSetMetaData.getColumnDisplaySize(col)); //isNullable() donde 0: columnNoNulls 1: columnNullable 2: columnNullableUnknown System.out.println(" Es Nullable: " + resultSetMetaData.isNullable(col)); System.out.println(" Autoincrementable: " + resultSetMetaData.isAutoIncrement(col)); System.out.println(" Label: " + resultSetMetaData.getColumnLabel(col)); } connection.close(); System.out.println("\nDesconectado de la base de datos"); } catch (SQLException ex) { System.err.println(ex.getMessage()); } } }
enjoy!
En un post anterior [Crear plantillas personalizadas para Netbeans] vimos una forma sencilla que tiene Netbeans para fac[...]
En este post veremos paso a paso como importar registros de archivos *.CSV a una base de datos (MySQL por ejemplo) usand[...]
Si necesitas de graficos estadisticos y Excel no es tu fuerte o no te gusta el estilo que tiene, MakeGraph.app es una bu[...]
PlaceHolder: PlaceHolder es un atributo propio de HTML5 y es el texto que aparece dentro de un campo de texto (un JTextF[...]
NUEVA ESPECIFICACIÓN TÉCNICA DEL CÓDIGO DE CONTROL (Ver.7.0) En el marco del Nuevo Sistema de Facturación implementado p[...]
Un BLOB en SQL es un tipo incorporado que almacena un Objeto Binario Grande como un valor de columna en una fila de una[...]