其实反射也不是什么高深莫测的东西。反射就是我们对一个未知对象进行操作,由于它是未知的,所以我们需要从类型等方面下手,使用该对象共有的方法和属性,引用自该对象,从而得到我们想要的结果。
本文简单列举了一个利用反射将ResultSet的值自动赋值到POJO(JavaBean)对象的一个实例,便于大家学习。
- package demo;
- import java.lang.reflect.Array;
- import java.lang.reflect.Method;
- import java.sql.ResultSetMetaData;
- import java.sql.ResultSet;
- /**
- * 绑定数据处理
- * Wrote by redria
- */
- public class BindData {
- /**
- * 从ResultSet绑定到JavaBean
- *
- * @param ResultSet
- * @param DTO(JavaBean)
- * @return DTO
- */
- public static DTO bindDataToDTO(ResultSet rs, DTO dto) throws Exception {
- //取得Method方法
- Method[] methods = dto.getClass().getMethods();
- //取得ResultSet的列名
- ResultSetMetaData rsmd = rs.getMetaData();
- int columnsCount = rsmd.getColumnCount();
- String[] columnNames = new String[