Ir al contenido

Conexión Java con Derby

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.

Lo primero que haremos para establecer la conexión Java con Derby es descargar la base de datos, que viene con el Driver incluido. Esto lo podemos 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:

<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>10.13.1.1</version>
</dependency>

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á:

String sURL = "jdbc:derby:memory:myDB;create=true";
con = DriverManager.getConnection(sURL);

Vemos que en la cadena de conexión indicamos que la base de datos está en memoria. Ahora utilizamos el método .getConnection() para realizar la conexión mediante el DriverManager.

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().

Ahora que ya tenemos datos metidos en la base de datos podemos ejecutar una consulta sobre la tabla que hemos creado. Así podríamos tener el siguiente código fuente:

try (PreparedStatement stmt = con.prepareStatement("SELECT country FROM country")) {
ResultSet rs = stmt.executeQuery();
while ([rs.next](http://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.

Foto de Víctor Cuervo

Víctor Cuervo

Programador, Arquitecto IT, álter ego de Línea de Código, amante de las tecnologías, generador de conocimiento y facilitador del aprendizaje.

Descarga el código de Conexión Java con Derby

Conexión Java con Derby permite establecer una base de datos en memoria, crear tablas e insertar datos fácilmente.

Descargar código
Pon a prueba tu conocimiento
JDBC en Java

¿Qué clase se utiliza para conectarse a una base de datos en JDBC?

  • A DatabaseConnection
  • B DriverManager
  • C ConnectionFactory
  • D DBConnect