Java Tutorials by Oracle包含一个页面Class Literals as Runtime-Type Tokens。
这里的代码显示了如何将Class
对象作为参数传递,可以与泛型一起使用来定义使用newInstance()
实例化的对象的类型。他们的示例代码继续在评论中提及:
使用反射并从sql结果中设置所有项目的字段。
Collection<EmpInfo> emps = sqlUtility.select(EmpInfo.class, "select * from emps");
...
public static <T> Collection<T> select(Class<T> c, String sqlStatement) {
Collection<T> result = new ArrayList<T>();
/* Run sql query using jdbc. */
for (/* Iterate over jdbc results. */ ) {
T item = c.newInstance();
/* Use reflection and set all of item's
* fields from sql results.
*/
result.add(item);
}
return result;
}
我想知道这样的代码是什么样的,使用reflection来填充对象的字段,其中包含来自ResultSet
的行的结果。
➠是否有人愿意发布此类代码的示例?
我的兴趣是看一个反射在行动的例子,看看如何将一个对象的成员/属性与数据库行的字段相匹配。这种方法是最优还是推荐不是问题,因此需要引用JDBC框架。