Persistencia en java

Solo disponible en BuenasTareas
  • Páginas : 3 (579 palabras )
  • Descarga(s) : 0
  • Publicado : 2 de mayo de 2011
Leer documento completo
Vista previa del texto
Frameworks de Persistencia en Java

Rubén Inoto Soto

Universidad de Alicante – 12 de Mayo, 2006

Persistencia
  



Del lat. persistere  Durar por largo tiempo Almacenamiento de lainformación después de la finalización del programa La mayoría de los programas actuales necesitan preservar los datos para posterior uso El sistema más común se basa en bases de datos relacionales Problema


Mapeo de Objetos (estrucutra jerárquica) a Base de Datos Relacional (estructura tabular) y viceversa

Problema Cont.

•Asociaciones •Herencia •Polimorfismo •Cascada •Cache •LazyLoading •Paginación •...

JDBC - Características
    

Interfaz de programación para acceso a BD Rutinas para manipular los datos y metadatos Acceso „directo“ a la base de datos Control delas conexiones y transacciones (autoCommit) Lenguaje SQL

JDBC – Ejemplo 1


Cargar el Driver y Obtener Conexión a BD
Class.forName("com.mysql.jdbc.Driver"); Connection con =DriverManager.getConnection("jdbc:mysql://localhost:3306/persistenceTest", "root", „xxx");



Transacciones y Sesiones
con.setA utoCommit(false); // Codigo... con.commit(); Código poco intuitivo



EjecutarQuery

Acceso directo a SQ L

Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT NAME as name, EMAIL as email " + "FROM UA_USER where ID = " + 1); User user = newUser(); if ( rs.next() ) { user.setName(rs.getString("name")); user.setEmail(rs.getString("email")); } Mapping Manual rs.close(); stmt.close();

JDBC – Ejemplo 1. Cont


PreparedStatementPreparedStatement createUserStmt = con.prepareStatement("INSERT INTO UA _USER (NA ME, EMA IL) VA LUES (?, ?)"); createUserStmt.setString(1, "ruben"); createUserStmt.setString(2, "ruben@ruben.com");createUserStmt.execute();



Cerrar conexiones
con.close();

JDBC - Problemas


Código específico de Base de Datos
• mySQL: outer join, autoincrement • Oracle (+), Sequences

   ...
tracking img