Desde que estoy usando HSQL para pruebas y algunos proyectos estoy encantado. Fácil, simple y extremadamente liviano es este motor que nos permite jugar tanto como deseemos, pero ¿Cómo se inicia y explora el contenido creado en nuestro modelo de datos?
Pues vamos a ir empezando arrancando el cacharrito
1 |
java -classpath hsql.jar org.hsqldb.Server -database.0 file:mydb -dbname.0 your_database |
Una vez iniciado vamos a ver su contenido iniciando un interfaz propio
1 |
java -classpath hsql.jar org.hsqldb.util.DatabaseManagerSwing |
Pulsando OK podrás ver el contenido de tu base de datos.
Vamos a crear una clase para abrir una conexión con JAVA
Se agradece la ayuda recibida del maestro Jaime
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
public class UtilSQL { private static Connection connection; // Unica ejecucion static { Server hsqlServer = null; try { hsqlServer = new Server(); // HSQLDB vuelca informacion en el arranque // y parada que no necesitamos saber // Normalmente setLogWriter apuntaria un objeto Writer // para almacenar los logs, yo lo dejo a NULL, no quiero trazas hsqlServer.setLogWriter(null); hsqlServer.setSilent(true); // Nombre de la base de datos 'your_database' // y donde vamos a dejar los ficheros de esta // your_database.properties and your_database.script hsqlServer.setDatabaseName(0, "your_database"); hsqlServer.setDatabasePath(0, "your_database"); // Arrancando el server hsqlServer.start(); Class.forName("org.hsqldb.jdbc.JDBCDriver"); // El usuario por defecto para HSQLDB es 'SA' sin password connection = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/your_database", "SA", ""); } catch (Exception e) { System.err.println("ERROR: fallo en la conexion."); } } public static Connection getConnection() { return connection; } public static void closeConnection() { // Instanciando Server hsqlServer = new Server(); // Cierra la conexion if (connection != null) { try { connection.close(); } catch (SQLException e) { System.err.println("Cascazo: fallo en la conexion."); } } // Para el servidor if (hsqlServer != null) { hsqlServer.shutdown(); } } } |