En este ejemplo vamos a realizar una conexión Java con Derby. Apache Derby es una base de datos escrita completamente en Java y que puede ejecutarse en memoria directamente con la aplicación.
Driver Apache Derby
Lo primero que haremos para establecer la conexión Java con Derby es el descargar la base de datos, que viene con el Driver incluido. Esto lo podemos de hacer desde https://db.apache.org/derby/derby_downloads.html.
Para los que utilizáis Maven como gestor de dependencias podéis añadir el siguiente código en el pom.xml
org.apache.derby
derby
10.12.1.1
Conectarnos a Apache Derby
Lo siguiente será conectarnos a la base de datos. En este caso vamos a utilizar Apache Derby en memoria, por lo cual la cadena de conexión será:
"jdbc:derby:memory:myDB;create=true"
Vemos que en la cadena de conexión indicamos que la base de datos está e memoria. Ahora utilizamos el método .getConnection()
para realizar la conexión mediante el DriverManager
String sURL = "jdbc:derby:memory:myDB;create=true";
con = DriverManager.getConnection(sURL);
Cargar la base de datos
Al ser una base de datos en memoria lo primero que tenemos que hacer es cargarla de datos, ya que no tendrá ninguno. Bueno, en realidad lo primero será crear la tabla para poder insertar los datos:
PreparedStatement tabla = con.prepareStatement("CREATE TABLE country (country varchar(100) not null)");
tabla.execute();
Hemos utilizado la sentencia SQL CREATE TABLE
para llevar a cabo nuestra tarea.
Ahora pasaremos a cargar los datos. En este caso nos hemos apoyado en un batch de inserciones.
Statement carga = con.createStatement();
carga.addBatch("INSERT INTO country VALUES ('Spain')");
carga.addBatch("INSERT INTO country VALUES ('France')");
carga.addBatch("INSERT INTO country VALUES ('United States')");
carga.addBatch("INSERT INTO country VALUES ('Brazil')");
carga.addBatch("INSERT INTO country VALUES ('Japan')");
carga.executeBatch();
La idea es definir un conjunto de sentencias de inserción mediante INSERT
que ejecutaremos de forma batch mediante el método .executeBatch()
Consultar datos en Apache Derby con Java
Ahora que ya tenemos datos metidos en la base de datos podemos ejecutar una consulta sobre a tabla que hemos creado.
Así podríamos tener el siguiente código fuente:
ry (PreparedStatement stmt = con.prepareStatement("SELECT country FROM country")) {
ResultSet rs = stmt.executeQuery();
while (rs.next())
System.out.println (rs.getString("country"));
} catch (SQLException sqle) {
System.out.println("Error en la ejecución:"
+ sqle.getErrorCode() + " " + sqle.getMessage());
}
Siguiendo estos pasos puedes realizar una conexión Java con Derby de una forma muy sencilla.