Antes de insertar contenido en una tabla, necesitamos conectar nuestra aplicación Java a nuestra base de datos. Java tiene su propia API, que es la API JDBC que utiliza controladores JDBC para las conexiones de la base de datos. Antes de JDBC, se usaba la API de ODBC , pero estaba escrita en C, lo que significa que dependía de la plataforma. La API de JDBC proporciona la conexión de aplicaciones a JDBC y el controlador JDBC proporciona una conexión de administrador a controlador.
Pasos para la conectividad entre el programa Java y la base de datos
1. Carga del controlador: para empezar, primero debe cargar el controlador o registrarlo antes de usarlo en el programa. El registro se debe hacer una vez en su programa. Puede registrar un conductor de una de las dos maneras mencionadas a continuación:
- Class.forName(): aquí cargamos el archivo de clase del controlador en la memoria en tiempo de ejecución. No hay necesidad de usar nuevos o crear un objeto. El siguiente ejemplo usa Class.forName() para cargar el controlador de Oracle:
Class.forName(“oracle.jdbc.driver.OracleDriver”);
- DriverManager.registerDriver(): DriverManager es una clase incorporada de Java con un registro de miembro estático. Aquí llamamos al constructor de la clase de controlador en tiempo de compilación. El siguiente ejemplo utiliza DriverManager.registerDriver() para registrar el controlador de Oracle:
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver())
2. Cree las conexiones: Después de cargar el controlador, establezca las conexiones usando:
Connection con = DriverManager.getConnection(url,user,password)
Usuario : nombre de usuario desde el que se puede acceder a su símbolo del sistema SQL.
Contraseña: contraseña desde la que se puede acceder a su símbolo del sistema SQL.
con: es una referencia a la interfaz de conexión.
URL : Localizador Uniforme de Recursos. Se puede crear de la siguiente manera:
String url = “ jdbc:oracle:thin:@localhost:1521:xe”
Donde Oracle es la base de datos utilizada, thin es el controlador utilizado, @localhost es la dirección IP donde se almacena la base de datos, 1521 es el número de puerto y xe es el proveedor de servicios. Los 3 parámetros anteriores son de tipo String y el programador debe declararlos antes de llamar a la función. El uso de esto se puede consultar en el código final.
3. Cree una declaración: una vez que se establece una conexión, puede interactuar con la base de datos. Las interfaces JDBCStatement , CallableStatement y PreparedStatement definen los métodos que le permiten enviar comandos SQL y recibir datos de su base de datos.
El uso de la declaración JDBC es el siguiente:
Statement st = con.createStatement();
Aquí, con es una referencia a la interfaz de conexión utilizada en el paso anterior.
4. Ejecutar la consulta: Ahora viene la parte más importante de ejecutar la consulta. La consulta aquí es una consulta SQL. Ahora sabemos que podemos tener múltiples tipos de consultas. Algunos de ellos son los siguientes:
- Consulta para actualizar/insertar tabla en una base de datos.
- Consulta para recuperar datos.
El método executeQuery() de la interfaz Statement se utiliza para ejecutar consultas de recuperación de valores de la base de datos. Este método devuelve el objeto de ResultSet que se puede usar para obtener todos los registros de una tabla.
El método executeUpdate (consulta SQL) de la interfaz de instrucciones se utiliza para ejecutar consultas de actualización/inserción.
Ejemplo:
int m = st.executeUpdate(sql); if (m==1) System.out.println("inserted successfully : "+sql); else System.out.println("insertion failed");
Aquí SQL es una consulta SQL del tipo String
5. Cerrar las conexiones: finalmente hemos enviado los datos a la ubicación especificada y ahora estamos a punto de completar nuestra tarea. Al cerrar la conexión, los objetos de Statement y ResultSet se cerrarán automáticamente. El método close() de la interfaz Connection se utiliza para cerrar la conexión.
Ejemplo:
con.close();
Java
// Java program to insert records to a table using JDBC import java.io.*; import java.sql.*; public class Database { // url that points to mysql database, 'db' is database // name static final String url = "jdbc:mysql://localhost:3306/db"; public static void main(String[] args) throws ClassNotFoundException { try { // this Class.forName() method is user for // driver registration with name of the driver // as argument // we have used MySQL driver Class.forName("com.mysql.jdbc.Driver"); // getConnection() establishes a connection. It // takes url that points to your database, // username and password of MySQL connections as // arguments Connection conn = DriverManager.getConnection( url, "root", "1234"); // create.Statement() creates statement object // which is responsible for executing queries on // table Statement stmt = conn.createStatement(); // executeUpdate() is used for INSERT, UPDATE, // DELETE statements.It returns number of rows // affected by the execution of the statement int result = stmt.executeUpdate( "insert into student(Id,name,number) values('1','rachel','45')"); // if result is greater than 0, it means values // has been added if (result > 0) System.out.println("successfully inserted"); else System.out.println( "unsucessful insertion "); // closing connection conn.close(); } catch (SQLException e) { System.out.println(e); } } }
Driver, DriverManager(), Connection(), Statement(), Resultset() son clases proporcionadas por la API de JDBC.
- Si la inserción es exitosa, la salida será: Insertado con éxito
- Si la inserción no es exitosa, la salida será: inserción fallida
Publicación traducida automáticamente
Artículo escrito por chodankarsarvesha y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA