Programa Java para usar métodos de columna para obtener el nombre de columna en JDBC

Java Database Connectivity o JDBC es una API de Java (interfaz de programación de aplicaciones) que se utiliza para realizar operaciones de base de datos a través de la aplicación Java. Permite la ejecución de comandos SQL para la creación de tablas y manipulación de datos a través de la aplicación Java. Java admite el paquete java.sql que contiene métodos incorporados para acceder y procesar datos almacenados en una base de datos. Los métodos en java.sql arrojan excepciones de SQL, por lo tanto, el bloque de código debe colocarse dentro de un bloque de prueba y dejar que el bloque catch maneje las excepciones, si es que agrega una cláusula throws al método principal. 

Procedimiento:

  1. forName () es un método estático de clase que se utiliza para cargar el controlador.
  2. A continuación, se establece la conexión a la base de datos utilizando el método getConnection() de la clase DriverManager. getConnection() acepta las URL, el nombre de usuario y la contraseña para establecer una conexión. Los métodos definidos en la interfaz Statement se utilizan para interactuar con la base de datos.
    • Primero, se crea la tabla y luego se insertan los registros en la tabla.
    • Los comandos sql se agrupan en lotes usando addBatch() y se ejecutan todos a la vez usando el método executeBatch() .
    • Los registros de la tabla se obtienen en el ResultSet.
    • El método getMetaData() de ResultSet se utiliza para obtener los metadatos de los registros obtenidos en ResultSet.
    • Los métodos getColumnCount() y getColumnName() de la interfaz ResultSetMetaData se utilizan para obtener el número de columnas y el nombre de cada columna en la tabla.

Ejemplo 1:

Java

// Java Program to Use Methods of Column
// to get column name in JDBC
 
// Step 1: Importing DB files
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
 
// Class to get columns
public class GFG {
 
    // Main driver method
    public static void main(String args[])
    {
        try {
 
            // Step 2: Loading and registering drivers
 
            // Loading driver class
            // using forName() method
            Class.forName("oracle.jdbc.OracleDriver");
 
            // Step 3: Establishing te connection
 
            Connection con = DriverManager.getConnection(
                "jdbc:oracle:thin:@localhost:1521:xe",
                "username", "password");
            Statement s = con.createStatement();
 
            // Step 4: Create a statement
            String sql1
                = "CREATE TABLE ACADEMY(COURSE_ID VARCHAR2(20) PRIMARY KEY, COURSE_NAME VARCHAR2(20),MENTOR VARCHAR2(20),COURSE_FEE NUMBER)";
 
            // Step 5: Process the query
            // Inserting records in the table
            String sql2
                = "INSERT INTO ACADEMY VALUES('C101','MATH','ROBERT',5000)";
            String sql3
                = "INSERT INTO ACADEMY VALUES('C102','PHYSICS','JANE',8000)";
            String sql4
                = "INSERT INTO ACADEMY VALUES('C103','HISTORY','ADAM',6000)";
            String sql5
                = "INSERT INTO ACADEMY VALUES('C104','BIOLOGY','MARIE',5000)";
            String sql6
                = "INSERT INTO ACADEMY VALUES('C105','ENGLISH','ALBERT',3000)";
            s.addBatch(sql1);
            s.addBatch(sql2);
            s.addBatch(sql3);
            s.addBatch(sql4);
            s.addBatch(sql5);
            s.addBatch(sql6);
 
            // Step 6: Execute the statements
            // executing the sql commands
            s.executeBatch();
 
            // Obtaining the resultset
            ResultSet rs
                = s.executeQuery("SELECT * FROM ACADEMY");
 
            while (rs.next()) {
 
                System.out.println(
                    rs.getString(1) + "\t\t"
                    + rs.getString(2) + "\t\t"
                    + rs.getString(3) + "\t\t"
                    + rs.getString(4));
            }
 
            // Retrieving the ResultSetMetadata object
            ResultSetMetaData rsMetaData = rs.getMetaData();
            System.out.println(
                "List of column names in the current table: ");
 
            // Retrieving the list of column names
            int count = rsMetaData.getColumnCount();
 
            for (int i = 1; i& lt; = count; i++) {
                System.out.print(rsMetaData.getColumnName(i)
                                 + "\t");
            }
 
            // Step 7: Close the connection
            con.commit();
            con.close();
        }
 
        // Catch block to handle exceptions
        catch (Exception e) {
 
            // Print the exception
            System.out.println(e);
        }
    }
}

Producción:
 

Ejemplo 2: 

Java

// Java Program to Use Methods of Column
// to get column name in JDBC
 
// Step 1: Importing DB files
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
 
// Class
public class GFG {
 
    // Main driver method
    public static void main(String args[])
    {
 
        // Try block to check if exception occurs
        try {
 
            // Step 2: Loading and registering drivers
 
            // Loading driver class
            // using forName() method
            Class.forName("oracle.jdbc.OracleDriver");
 
            // Step 3: Establish a connection
 
            // Create connection object
            Connection con = DriverManager.getConnection(
                "jdbc:oracle:thin:@localhost:1521:xe",
                "cse", "cse");
            Statement s = con.createStatement();
 
            // Step 4: Create a starement/s
            // create table
            String sql1
                = "CREATE TABLE STUDENT(STUDENTID VARCHAR2(20) PRIMARY KEY, NAME VARCHAR2(20), DEPARTMENT VARCHAR2(10))";
            // insert records in the table
            String sql2
                = "INSERT INTO STUDENT VALUES('S001','JOE','CSE')";
            String sql3
                = "INSERT INTO STUDENT VALUES('S002','BECK','IT')";
            String sql4
                = "INSERT INTO STUDENT VALUES('S003','KANE','ECE')";
            String sql5
                = "INSERT INTO STUDENT VALUES('S004','FALLON','CSE')";
            String sql6
                = "INSERT INTO STUDENT VALUES('S005','LIAM','CSE')";
 
            // Step 5: Execute the query
            s.addBatch(sql1);
            s.addBatch(sql2);
            s.addBatch(sql3);
            s.addBatch(sql4);
            s.addBatch(sql5);
            s.addBatch(sql6);
 
            // Executing the sql commands
            s.executeBatch();
 
            // Obtaining the resultset
 
            ResultSet rs
                = s.executeQuery("SELECT * FROM STUDENT");
 
            // Retrieving the ResultSetMetadata object
            ResultSetMetaData rsMetaData = rs.getMetaData();
 
            // Retrieving the list of column names
            int count = rsMetaData.getColumnCount();
 
            // Step 6: Process the statements
            for (int i = 1; i <= count; i++) {
                System.out.print(rsMetaData.getColumnName(i)
                                 + "\t");
            }
 
            System.out.println(
                "\n----------------------------------------------------------------");
            while (rs.next()) {
                System.out.println(rs.getString(1) + "\t\t"
                                   + rs.getString(2) + "\t"
                                   + rs.getString(3));
            }
 
            // Step 7: Close the connection
            con.commit();
            con.close();
        }
 
        // Catch block to handle if exception occurs
        catch (Exception e) {
 
            // Print the exception
            System.out.println(e);
        }
    }
}

Producción: 

Publicación traducida automáticamente

Artículo escrito por Shreyasi_Chakraborty y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *