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:
- forName () es un método estático de clase que se utiliza para cargar el controlador.
- 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