- crear una conexión con la base de datos
//se define driver del tipo de base de datos
Class.forName("org.gjt.mm.mysql.Driver"); //mysql
//obtener conexión
dbcon = DriverManager.getConnection( "loginUrl", "loginUser", "loginPasswd"); //creamos una instancia
statement = dbcon.createStatement(); - obtener/modificar datos de la base de datos
ResultSet resultado = statement.executeQuery("SELECT nombre,edad FROM usuarios"); while (resultado.next()){ System.out.println(resultado.getString("nombre") + ": "+ resultado.getInt("edad") + " años" ); }
- cerrar la conexión
statement.close(); dbcon.close();
Podemos hacer estas tres cosas 'a capón' siempre que necesitemos interactuar con la base de datos, pero no es nada recomendable hacerlo sin control (a veces es útil, evidentemente), pues abrir y cerrar conexiones continuamente para realizar consultas consume recursos y tiempo. Por eso suele utilizarse una clase que gestione la conexión y nos abstraiga de conectar y desconectar, e incluso nos abstraiga del tipo d base de datos que utilizaremos (MySQL, Prostgre, Oracle, etc.)
Si utilizamos una clase sencilla para usar la base de datos, esa clase tendrá estos métodos:
/* Método que inicializa la conexión */private void init_db() { /* ... */ try{ /* ... */ }catch (SQLException ex) { /* ... */ }catch (java.lang.Exception ex) { /* ... */ }}
/* Método paraa finalizar la conexión */private void end_db() { /* ... */ try { /* ... */ }catch (SQLException ex) { /* ... */ }catch (java.lang.Exception ex) { /* ... */ }}
/* Métodos que utilizan la conexión */void getUsuarios(){ /* ... */}int nuevoUsuario(String nombre,String apellido){ /* ... */}
Se puede mejorar la clase implementando un patrón de singleton, para no provocar una nueva conexión cada vez que queramos realizar una consulta a la misma base de datos. Ver patrón singleton para más señas ;)
No hay comentarios:
Publicar un comentario