JDBC es una API de Java que proporciona métodos para conectarse y ejecutar consultas en una base de datos desde una aplicación Java.
Para conectarse a una base de datos utilizando JDBC, primero necesitas cargar el driver de la base de datos y luego establecer la conexión.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConexionJDBC {
public static void main(String[] args) {
// Parámetros de conexión
String url = "jdbc:mysql://localhost:3306/mi_base_de_datos";
String usuario = "usuario";
String contraseña = "contraseña";
// Cargar el driver
try {
Class.forName("com.mysql.cj.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println("Error al cargar el driver de la base de datos");
e.printStackTrace();
return;
}
// Establecer la conexión
try (Connection conexion = DriverManager.getConnection(url, usuario, contraseña)) {
System.out.println("Conexión exitosa a la base de datos");
} catch (SQLException e) {
System.out.println("Error al establecer la conexión");
e.printStackTrace();
}
}
}
Una vez establecida la conexión, puedes ejecutar consultas SQL utilizando Statement
, PreparedStatement
o CallableStatement
.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class ConsultasJDBC {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mi_base_de_datos";
String usuario = "usuario";
String contraseña = "contraseña";
try (Connection conexion = DriverManager.getConnection(url, usuario, contraseña)) {
Statement statement = conexion.createStatement();
String sql = "SELECT * FROM tabla";
ResultSet resultado = statement.executeQuery(sql);
while (resultado.next()) {
// Procesar resultados
int id = resultado.getInt("id");
String nombre = resultado.getString("nombre");
System.out.println("ID: " + id + ", Nombre: " + nombre);
}
} catch (SQLException e) {
System.out.println("Error al ejecutar la consulta");
e.printStackTrace();
}
}
}
Es importante cerrar la conexión, los statements y los resultados después de utilizarlos para liberar los recursos.
try (Connection conexion = DriverManager.getConnection(url, usuario, contraseña);
Statement statement = conexion.createStatement();
ResultSet resultado = statement.executeQuery(sql)) {
// Procesamiento de resultados
} catch (SQLException e) {
// Manejo de excepciones
}
La conexión a una base de datos en Java se realiza utilizando JDBC (Java Database Connectivity). Aquí tienes un ejemplo básico de cómo establecer una conexión a una base de datos MySQL:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConexionBD {
public static void main(String[] args) {
// Parámetros de conexión
String url = "jdbc:mysql://localhost:3306/mi_base_de_datos";
String usuario = "usuario";
String contraseña = "contraseña";
// Establecer la conexión
try {
Connection conexion = DriverManager.getConnection(url, usuario, contraseña);
System.out.println("Conexión exitosa a la base de datos");
// Cerrar la conexión
conexion.close();
} catch (SQLException e) {
System.out.println("Error al establecer la conexión");
e.printStackTrace();
}
}
}
En este ejemplo:
url
: Es la URL de conexión a la base de datos. Debes reemplazar "mi_base_de_datos"
por el nombre de tu base de datos.usuario
y contraseña
: Son las credenciales de acceso a la base de datos.DriverManager
para obtener una conexión a la base de datos.Recuerda reemplazar "localhost"
, "3306"
, "mi_base_de_datos"
, "usuario"
y "contraseña"
con los valores correspondientes a tu configuración.
Una vez establecida la conexión a la base de datos en Java, puedes ejecutar consultas y actualizaciones utilizando Statement
o PreparedStatement
. Aquí tienes un ejemplo básico:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class ConsultasBD {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mi_base_de_datos";
String usuario = "usuario";
String contraseña = "contraseña";
try (Connection conexion = DriverManager.getConnection(url, usuario, contraseña);
Statement statement = conexion.createStatement()) {
String sql = "SELECT * FROM tabla";
ResultSet resultado = statement.executeQuery(sql);
// Procesar resultados
while (resultado.next()) {
int id = resultado.getInt("id");
String nombre = resultado.getString("nombre");
System.out.println("ID: " + id + ", Nombre: " + nombre);
}
} catch (SQLException e) {
System.out.println("Error al ejecutar la consulta");
e.printStackTrace();
}
}
}
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class ActualizacionesBD {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mi_base_de_datos";
String usuario = "usuario";
String contraseña = "contraseña";
try (Connection conexion = DriverManager.getConnection(url, usuario, contraseña);
Statement statement = conexion.createStatement()) {
String sql = "INSERT INTO tabla (nombre, edad) VALUES ('Ejemplo', 30)";
int filasAfectadas = statement.executeUpdate(sql);
System.out.println("Filas afectadas: " + filasAfectadas);
} catch (SQLException e) {
System.out.println("Error al ejecutar la actualización");
e.printStackTrace();
}
}
}
En estos ejemplos:
Statement
.executeQuery()
y actualizaciones con executeUpdate()
.Recuerda reemplazar "mi_base_de_datos"
, "usuario"
y "contraseña"
con tus propios valores.
El uso de PreparedStatement
y ResultSet
en JDBC te permite ejecutar consultas parametrizadas de manera segura y procesar los resultados de manera eficiente. Aquí tienes un ejemplo de cómo usarlos:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class PreparedStatementEjemplo {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mi_base_de_datos";
String usuario = "usuario";
String contraseña = "contraseña";
try (Connection conexion = DriverManager.getConnection(url, usuario, contraseña)) {
// Consulta parametrizada
String sql = "SELECT * FROM tabla WHERE edad > ?";
// Crear PreparedStatement
PreparedStatement statement = conexion.prepareStatement(sql);
statement.setInt(1, 18); // Asignar valor al parámetro
// Ejecutar consulta
ResultSet resultado = statement.executeQuery();
// Procesar resultados
while (resultado.next()) {
int id = resultado.getInt("id");
String nombre = resultado.getString("nombre");
System.out.println("ID: " + id + ", Nombre: " + nombre);
}
} catch (SQLException e) {
System.out.println("Error al ejecutar la consulta");
e.printStackTrace();
}
}
}
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class ResultSetEjemplo {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mi_base_de_datos";
String usuario = "usuario";
String contraseña = "contraseña";
try (Connection conexion = DriverManager.getConnection(url, usuario, contraseña);
Statement statement = conexion.createStatement()) {
String sql = "SELECT * FROM tabla";
ResultSet resultado = statement.executeQuery(sql);
// Procesar resultados
while (resultado.next()) {
int id = resultado.getInt("id");
String nombre = resultado.getString("nombre");
System.out.println("ID: " + id + ", Nombre: " + nombre);
}
} catch (SQLException e) {
System.out.println("Error al ejecutar la consulta");
e.printStackTrace();
}
}
}
En estos ejemplos:
PreparedStatement
para consultas parametrizadas.setInt()
, setString()
, etc.ResultSet
para procesar los resultados de la consulta.