java jdbc y data mapper

7
Java JDBC y Data Mapper Guía complementaria

Upload: erasmo-saavedra-robles

Post on 10-Feb-2018

243 views

Category:

Documents


0 download

TRANSCRIPT

7/22/2019 Java JDBC y Data Mapper

http://slidepdf.com/reader/full/java-jdbc-y-data-mapper 1/7

Java JDBC y Data

MapperGuía complementaria

7/22/2019 Java JDBC y Data Mapper

http://slidepdf.com/reader/full/java-jdbc-y-data-mapper 2/7

JDBC - Conceptos básicos

● JDBC es un API(librería) 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 actualización a la

BD.

○ Obtener y procesar los resultados recibidos.

● JDBC es independiente de cualquier gestor de basesde datos (MySQL, Oracle, PostgreSQL, etc).

7/22/2019 Java JDBC y Data Mapper

http://slidepdf.com/reader/full/java-jdbc-y-data-mapper 3/7

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");

}

}

7/22/2019 Java JDBC y Data Mapper

http://slidepdf.com/reader/full/java-jdbc-y-data-mapper 4/7

JDBC - Buenas prácticas

● 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 opción “autocommit” (manejo de

transacciones).

● NOTA: En versiones anteriores a Java 6, es necesario

usar siguiente línea antes de obtener una conexión:Class.forName("com.mysql.jdbc.Driver")

7/22/2019 Java JDBC y Data Mapper

http://slidepdf.com/reader/full/java-jdbc-y-data-mapper 5/7

Data Mapper - Introducción

● Es un patrón de diseño empresarial.

● Creado por Martin Fowler en su libro: Patterns of

Enterprise Application Architecture.

● “Consiste en una (o varias) capas encargadas de latransmisión de datos de un objeto a la base de datos,

manteniendo la capa (o capas) independientes entre sí

e independientes del objeto mapeado”. 

● Más información

7/22/2019 Java JDBC y Data Mapper

http://slidepdf.com/reader/full/java-jdbc-y-data-mapper 6/7

Data Mapper - Diagrama

7/22/2019 Java JDBC y Data Mapper

http://slidepdf.com/reader/full/java-jdbc-y-data-mapper 7/7

Data Mapper vs.DAO?

● Son patrones diferentes que tienen algunos aspectos

comunes.

● El patrón DAO no solo abstrae la transmisión de datos

a la BD, sino que también abstrae la creación de laconexión a la fuente de datos (datasource) y el manejo

de la misma.

● DAO resulta más apropiado cuando se espera que la

fuente de datos cambie, o cuando hayan muchas

fuentes de datos.● Más información sobre el patrón DAO.