2011-05-04 15 views
7

En mi lugar de trabajo, utilizamos el patrón DAO para ejecutar cualquier tipo de operación de base de datos. Oculta declaraciones voluminosas del programador. Los programadores necesitan escribir consultas SQL y lógica para manejar los datos de salida. BaseDao maneja todo tipo de operación y devuelve el resultado en el formato requerido.Java Framework for Database operations

Encontré que esta clase no es perfecta. Agregué el código para controlar la cantidad de conexiones y para manejar problemas de conexión como conectividad lenta, falta de conectividad, número de intentos de conexión, etc.

Pero tendría que agregar más código para admitir la función de avance de JDBC como proporcionar/acceder datos binarios, Gestión de resultados devueltos por SP, etc.

¿Existe algún marco de Java o un grupo de clases que pueda abarcar muchas de las operaciones de la base de datos?

Sugerido.

+0

Un marco más en mi mente es JOOQ. pero desafortunadamente no maneja la salida de SP como mencioné en mi pregunta –

+0

¿Qué crees que falta en el manejo de procedimientos almacenados de jOOQ? Soporte para conjuntos de resultados devueltos por los SP? ¿O falta algo en general? –

+0

@Lukas, si se abren más de un cursores en SP ... –

Respuesta

5

Creo que usted está buscando Java Persistence API. Es una especificación Java EE y Hibernate es la implementación más popular.

+0

Aunque encontré muchas bibliotecas como jooq, spring DAO (sugerido por @qwerty), creo que cambiar a hibernet sería una mejor opción. –

+1

¿conoce un ejemplo de JPA/Hibernate que brinde acceso a conjuntos de resultados devueltos por procedimientos almacenados? ¿Es fácil de lograr desde la perspectiva del usuario? –

3

Puede probar Spring DAO en su lugar. Tienen un bonito patrón de plantilla para manejar los resultados.

1

O puede retroceder un paso más allá de JDBC y usar Hibernate.

+0

No conozco Hibernet. ¿Puedo usarlo también con aplicaciones java independientes? –

+0

Sí. Funciona perfectamente bien con aplicaciones web o aplicaciones de consola/escritorio. – Olaf

0

Spring Data JPA hace aún más abstracción que las otras sugerencias que las personas han hecho. Con eso e Hibernate ni siquiera necesitas escribir consultas a menos que sea una operación compleja que necesites realizar.