Java JDBC y Data Mapper
Gua complementaria
JDBC - Conceptos bsicos
JDBC es un API(librera) de la plataforma Java SE que permite hacer uso de una base de datos (BD). Facilita las siguientes acciones: Conectarse a una BD. Enviar consultas y sentencias de actualizacin a la BD. Obtener y procesar los resultados recibidos. JDBC es independiente de cualquier gestor de bases de datos (MySQL, Oracle, PostgreSQL, etc).
JDBC - Ejemplo simple
public void connectToAndQueryDatabase(String username, String password) {
Connection con = DriverManager.getConnection( "jdbc:myDriver:myDatabase", username, password);
Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1"); while (rs.next()) { int x = rs.getInt("a"); String s = rs.getString("b"); float f = rs.getFloat("c"); } }
JDBC - Buenas prcticas
Usar la clase PreparedStatement y nunca concatenar variables en una sentencia SQL. Cerrar los Statement, PreparedStatement y conexiones usadas. Usar un connection pools. Desactivar la opcin autocommit (manejo de transacciones). NOTA: En versiones anteriores a Java 6, es necesario usar siguiente lnea antes de obtener una conexin: Class.forName("com.mysql.jdbc.Driver")
Data Mapper - Introduccin
Es un patrn de diseo empresarial. Creado por Martin Fowler en su libro: Patterns of Enterprise Application Architecture. Consiste en una (o varias) capas encargadas de la transmisin de datos de un objeto a la base de datos, manteniendo la capa (o capas) independientes entre s e independientes del objeto mapeado. Ms informacin
Data Mapper - Diagrama
Data Mapper vs.DAO?
Son patrones diferentes que tienen algunos aspectos comunes. El patrn DAO no solo abstrae la transmisin de datos a la BD, sino que tambin abstrae la creacin de la conexin a la fuente de datos (datasource) y el manejo de la misma. DAO resulta ms apropiado cuando se espera que la fuente de datos cambie, o cuando hayan muchas fuentes de datos. Ms informacin sobre el patrn DAO.