Red de conocimiento informático - Material del sitio web - Cómo convertir ResultSet a un objeto Java

Cómo convertir ResultSet a un objeto Java

A veces no queremos usar ningún marco, pero necesitamos usar JDBC para implementar una función de mapeo similar a iBATIS orm para convertir un ResultSet en nuestros JavaBeans. Podemos imitar a iBATIS para escribir nuestra propia clase de implementación ResultSetMapper y usar el principio de reflexión. Para convertir ResultSet a JavaBeans, la siguiente es una implementación de Internet de código abierto, que utiliza principalmente anotaciones y mecanismos de reflexión. Primero echemos un vistazo al efecto:

CÓDIGO en el código Ver fragmentos de código derivados. mi segmento de código

paquete com.heaven.mapper;

importar java.sql.ResultSet;

importar java.sql.SQLException;

importar java .util.List;

clase pública SampleMain {

public static void main(String ..args){

prueba {

ResultSetMapper resultSetMapper = new ResultSetMapper();

ResultSet resultSet = null;

//código JDBC simple para ejecutar consultas SQL y completar el conjunto de resultados - INICIO

Class.executeQuery();

/**************************** **/

List pojoList = resultSetMapper.mapRersultSetToObject(resultSet, SamplePojo. class);

/*************** ********* ***********/

if(pojoList != null){

for(SamplePojo pojo : pojoList) {

System .out.println(pojo);

}

}else{

System.out.println(" Conjunto de resultados está vacía. Compruebe si la tabla de la base de datos está vacía");

}

connection.close();

} catch (ClassNotFoundException e) {

e.printStackTrace( );

} captura (SQLException e) {

e.printStackTrace();

}

}

Para convertir ResultSet en nuestro objeto JavaPojo, sólo necesitamos llamar a un método de ResultSetMapper, que es muy sencillo de usar.

El siguiente es el código fuente de ResultSetMapper:

Ver el fragmento de código en CODE para derivar mi fragmento de código

paquete com.heaven.mapper; p>

importar java.lang.reflect.Field;

importar java.lang.reflect.InvocationTargetException;

importar java.sql.ResultSet;

importar java.sql.ResultSetMetaData;

importar java.sql.SQLException;

importar java.util.ArrayList;

importar java.lang. reflect.InvocationTargetException;

Ver el fragmento de código, derivado de mi fragmento de código en CODE

package com.heaven.mapper; 

importar javax.persistence.Column;

importar javax.persistence.Entity;this.gender = género;

}

@ Anular

cadena pública toString() {

return "id:" + id + "\n" +

"nombre: " + nombre + "\ n "+

"dirección:" + dirección + "\n" +

"género:" + (¿género? "Hombre": "Mujer") + "\n\ n ";

}

}

}

}