JDBC - Ejemplo de cláusula WHERE
Este capítulo proporciona un ejemplo sobre cómo seleccionar registros de una tabla utilizando la aplicación JDBC. Esto agregaría condiciones adicionales usando la cláusula WHERE al seleccionar registros de la tabla. Antes de ejecutar el siguiente ejemplo, asegúrese de tener lo siguiente en su lugar:
Para ejecutar el siguiente ejemplo, puede reemplazar el nombre de usuario y la contraseña con su nombre de usuario y contraseña reales.
Su MySQL o cualquier base de datos que esté utilizando, está en funcionamiento.
Pasos requeridos
Se requieren los siguientes pasos para crear una nueva base de datos utilizando la aplicación JDBC:
Import the packages:Requiere que incluya los paquetes que contienen las clases JDBC necesarias para la programación de la base de datos. La mayoría de las veces, basta con utilizar import java.sql. * .
Register the JDBC driver: Requiere que inicialice un controlador para poder abrir un canal de comunicaciones con la base de datos.
Open a connection:Requiere usar el método DriverManager.getConnection () para crear un objeto Connection, que representa una conexión física con un servidor de base de datos.
Execute a query:Requiere el uso de un objeto de tipo Statement para crear y enviar una sentencia SQL para obtener registros de una tabla que cumplan con la condición dada. Esta consulta hace uso de laWHERE cláusula para seleccionar registros.
Clean up the environment: Requiere cerrar explícitamente todos los recursos de la base de datos en lugar de depender de la recolección de basura de la JVM.
Código de muestra
Copie y pegue el siguiente ejemplo en JDBCExample.java, compile y ejecute de la siguiente manera:
//STEP 1. Import required packages
import java.sql.*;
public class JDBCExample {
// JDBC driver name and database URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost/STUDENTS";
// Database credentials
static final String USER = "username";
static final String PASS = "password";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try{
//STEP 2: Register JDBC driver
Class.forName("com.mysql.jdbc.Driver");
//STEP 3: Open a connection
System.out.println("Connecting to a selected database...");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
System.out.println("Connected database successfully...");
//STEP 4: Execute a query
System.out.println("Creating statement...");
stmt = conn.createStatement();
// Extract records without any condition.
System.out.println("Fetching records without condition...");
String sql = "SELECT id, first, last, age FROM Registration";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()){
//Retrieve by column name
int id = rs.getInt("id");
int age = rs.getInt("age");
String first = rs.getString("first");
String last = rs.getString("last");
//Display values
System.out.print("ID: " + id);
System.out.print(", Age: " + age);
System.out.print(", First: " + first);
System.out.println(", Last: " + last);
}
// Select all records having ID equal or greater than 101
System.out.println("Fetching records with condition...");
sql = "SELECT id, first, last, age FROM Registration" +
" WHERE id >= 101 ";
rs = stmt.executeQuery(sql);
while(rs.next()){
//Retrieve by column name
int id = rs.getInt("id");
int age = rs.getInt("age");
String first = rs.getString("first");
String last = rs.getString("last");
//Display values
System.out.print("ID: " + id);
System.out.print(", Age: " + age);
System.out.print(", First: " + first);
System.out.println(", Last: " + last);
}
rs.close();
}catch(SQLException se){
//Handle errors for JDBC
se.printStackTrace();
}catch(Exception e){
//Handle errors for Class.forName
e.printStackTrace();
}finally{
//finally block used to close resources
try{
if(stmt!=null)
conn.close();
}catch(SQLException se){
}// do nothing
try{
if(conn!=null)
conn.close();
}catch(SQLException se){
se.printStackTrace();
}//end finally try
}//end try
System.out.println("Goodbye!");
}//end main
}//end JDBCExample
Ahora, compilemos el ejemplo anterior de la siguiente manera:
C:\>javac JDBCExample.java
C:\>
Cuando corres JDBCExample, produce el siguiente resultado:
C:\>java JDBCExample
Connecting to a selected database...
Connected database successfully...
Creating statement...
Fetching records without condition...
ID: 100, Age: 30, First: Zara, Last: Ali
ID: 102, Age: 30, First: Zaid, Last: Khan
ID: 103, Age: 28, First: Sumit, Last: Mittal
Fetching records with condition...
ID: 102, Age: 30, First: Zaid, Last: Khan
ID: 103, Age: 28, First: Sumit, Last: Mittal
Goodbye!
C:\>