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!
El gigante de la tecnología Microsoft ha lanzado un mapa interactivo para proporcionar información sobre la propagación[...]
Google abre las puertas de Google Open Source un nuevo sitio web que une todos sus proyectos de «Código Abierto» que ha[...]
Un nuevo ataque mundial de ransomware a bloqueado documentos electrónicos de dos grandes multinacionales españolas, la e[...]
Netbeans tiene soporte para trabajar con varias herramientas de control de versiones, GIT es una de ellas, esta herramie[...]
Cuando utilizamos aplicaciones web con conexión a base de datos MYSQL, se suele crear una clase que gestione la interacc[...]
Un SGA «Sistema de Gestión de Almacenes» es un programa informático destinado a gestionar las entradas y salidas de pro[...]