Aprende Java Aprende Php Aprende C++ Aprende HTML 5 Aprende JavaScript Aprende JSON Aprende MySQL Aprende SQLServer Aprende Visual Basic 6 Aprende PostgreSQL Aprende SQLite Aprende Redis Aprende Kotlin Aprende XML Aprende Linux VSC Aprende Wordpress Aprende Laravel Aprende VueJS Aprende JQuery Aprende Bootstrap Aprende Netbeans Aprende Android
Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube Sigueme en TikTok Sigueme en Whatsapp
Home / Java / Obtener Metadatos de un ResultSet

Obtener Metadatos de un ResultSet

Por jc mouse lunes, julio 8, 2019

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:

  • getColumnName(): Obtiene el nombre de la columna designada.
  • getColumnTypeName(): Recupera el nombre de tipo específico de la base de datos de la columna designada.
  • getColumnDisplaySize(): El tamaño de la columna.
  • isNullable(): Indica la nulabilidad de los valores en la columna designada. El estado de nulabilidad de la columna esta dada como columnNoNulls, columnNullable o columnNullableUnknown.
  • isAutoIncrement(): Indica si la columna designada se numera automáticamente donde TRUE es por el si, y FALSE por el no.
  • getColumnLabel(): Obtiene el título sugerido de la columna designada para su uso en impresiones y pantallas. El título sugerido suele ser especificado por la cláusula AS de SQL. Si no se especifica un AS de SQL, el valor devuelto por getColumnLabel será el mismo que el valor devuelto por el método getColumnName.

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());
        }
    }

}

ResulSet MetaData

enjoy!

Tags

Artículos similares

Método de la Regla Falsa o Regula Falsi

Este método, también conocido como método de interpolación lineal, es un método iterativo de resolución numérica de ecua[...]

Modo Mantenimiento sin Consola: Archivo DOWN

La forma que tiene Laravel en poner una aplicación en Modo Mantenimiento es por consola mediante el comando: Sin embargo[...]

Conexión a base de datos Oracle con Laravel

En esta ocasión aprenderemos a conectaros con una base de datos Oracle desde Laravel. Es un tutorial sencillo y cortito,[...]

Migrar proyecto Netbeans a Eclipse

En ocasiones por motivos cualesquiera que sea queremos pasar proyectos hechos en netbeans a Eclipse, Netbeans cuenta con[...]

Servicio Web SOAP en Java

En este post vamos a construir un Servicio Web bajo el protocolo SOAP (Simple Object Access Protocol) el cual básicament[...]

Generador de códigos QR (Quick Response)

En este tutorial aprenderemos a crear nuestra propia aplicación java para generar códigos QR. ¿Que es un Código QR? «Un[...]