existe clases genericas para pasar de resulset a clases de negocio?

Este es mi primer ingreso a la pagina... y mi inquietud era saber si existe algun metodo o clase generica para pasar del contenido de la base de datos (con resultset) a muchas clases de negocio... (clase persona, localidad, pedido, etc....)

ya que me ahoraria mucho tiempo de escribir codigo similar ....

Esta pregunta incluye no usar ningun framework ( spring tiene el problema de levantar todas las clases en memoria )

Gracias...

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

No / Apache DBUtils

Si lo que quieres decir por "clase genérica" es que si viene alguna clase ya incluida en el JDK para lo que quieres, la respuesta es simplemente no.

Si no quieres usar un framework pero sí puedes usar solamente un par de bibliotecas, puedes usar el módulo JDBC de Spring (no tienes que usar todas las veintitantas bibliotecas, solamente como 2 ó 3), porque incluye una clase BeanPropertyRowMapper que puedes usar en conjunto con la clase SimpleJdbcTemplate para lo que quieres:

List<Persona> objetos = miSimpleJdbcTemplate.query("SELECT nombre,apellido,fecha_nacimiento FROM persona WHERE blabla=?", new BeanPropertyRowMapper<Persona>(), argumento);

El BeanPropertyRowMapper por cada registro del ResultSet obtenido, creará una instancia de Persona y buscará setNombre(), setApellido() y setFechaNacimiento() para ponerle los valores obtenidos del query.

Si eso sigue sin convencerte entonces tienes la opción de Apache DBUtils, que funciona de manera muy similar pero con las clases QueryRunner y BeanProcessor.

Si es un requisito indispensable no utilizar ninguna biblioteca ni framework externo, entonces tienes que armar algo similar tú. Y por favor no vayas a copiar código de esas bibliotecas porque si lo haces, estás incluyendo código externo y dices que eso no se puede.

Cómo ya te ha comentado

Cómo ya te ha comentado @ezamudio, no existe.

Puedes buscar algún framework ORM (Hibernate, iBatis, etc.). Si no te gusta, puedes usar una clase con varags o hashmaps cómo argumentos:

public class Modelo{
----private String nombreTabla;

----public List<Object> select(String ... campos){
--------//Código iterando el resultSet
----}

----public boolean insert(String ... campos){
--------//Código insert
----}

----public boolean update(String ... campos){
--------//Código update
----}
}

----public boolean delete(String id){
--------//Código delete
----}

----public void setNombreTabla(String _nombreTabla){ nombreTabla = _nombreTabla; }

----public String getNombreTabla(){ return nombreTabla; }

De ahí para cada clase (persona, localidad, etc.) puedes heredarla =).

Nota: Pongo lo de "//Código [consulta]" porqué llevo rato sin trabajar con SQL a pelo jejejeje. Espero que te haya servido.