其实反射也不是什么高深莫测的东西。反射就是我们对一个未知对象进行操作,由于它是未知的,所以我们需要从类型等方面下手,使用该对象共有的方法和属性,引用自该对象,从而得到我们想要的结果。
本文简单列举了一个利用反射将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[columnsCount];
- for (int i = 0; i < columnsCount; i++) {
- columnNames[i] = rsmd.getColumnLabel(i + 1);
- }
- //遍历ResultSet
- while (rs.next()) {
- //反射, 从ResultSet绑定到JavaBean
- for (int&n

本文介绍了如何使用JAVA反射技术将ResultSet的数据自动绑定到POJO(JavaBean)对象,通过获取Method和ResultSet的列名进行匹配并赋值。文章提供了具体的示例代码,强调了属性名和列名的一致性对于反射赋值的重要性。

被折叠的 条评论
为什么被折叠?



