while(rs.next()){
Object obj = entityClass.newInstance();//获得实体类实例
for(int i=1;i<rsmd.getColumnCount();i++){
String columnName = rsmd.getColumnName(i);
Field field = entityClass.getDeclaredField(columnName);//获得实体类字段
field.setAccessible(true);//准入标志设置
field.set(obj, rs.getObject(columnName));//字段设置值
}
这样做要求实体类的字段名称和数据库中的一样才行,估计这是自己编的框架? 要是想用标注中的名字,也是可以修改的
Object obj = entityClass.newInstance();//获得实体类实例
for(int i=1;i<rsmd.getColumnCount();i++){
String columnName = rsmd.getColumnName(i);
Field field = entityClass.getDeclaredField(columnName);//获得实体类字段
field.setAccessible(true);//准入标志设置
field.set(obj, rs.getObject(columnName));//字段设置值
}
这样做要求实体类的字段名称和数据库中的一样才行,估计这是自己编的框架? 要是想用标注中的名字,也是可以修改的
解决方案 »
- JSP页面中怎么循环List 集合!!在线求解!
- 关于io中的read返回值-1的问题
- 是否能用jquery在子窗口调用父窗口中的function?
- jsp文件上传得问题(如何用纯java代码实现文件的上传)
- struts的入门问题,高分抢答~
- 怎样从xml文件中的属性取properties文件中的值?
- weblogic服务器的TPETIME(13) (高分)
- spring +ibatis数据库连接异常(Cannot create PoolableConnectionFactory )
- 对照J2EE和.net两个体系结构,请问j2ee中的ejb的session bean bmp cmp,或hibernate,spring,structs等等在net中的对应技术是什么?
- Hibernate的更新数据问提
- Servlet 异步调用 AsyncContext.dispatch(String s)不进行跳转
- 求一post 手机 pc端 接口案例以及开发思路
{
//entityClass是传过来的一个具体的Class,例如Student.class。调用其默认构造方法
Object obj = entityClass.newInstance();
//循环表的列名,将一条数据的每个列的数据封装到object中
for (int i = 1; i < rsmd.getColumnCount(); i++)
{
//这个是从数据库取出来的列名
String columnName = rsmd.getColumnName(i);
//根据属性名,获取具体属性信息(数据库表的列名定义的与类的属性名一致)
Field field = entityClass.getDeclaredField(columnName);
//设置此字段可访问(例如,原先定义可能为private的属性,set为true,就可以通过a.name的形式访问了)
field.setAccessible(true);
//将数据库中,列对应的值,设置到对象相应的属性中
field.set(obj, rs.getObject(columnName));
}
//将封装好的这个object对象放入列表中
data.add(obj);
}另外,for (int i = 1; i < rsmd.getColumnCount(); i++)这一行可能有问题(最后一列没处理到),建议改成for (int i = 1; i <= rsmd.getColumnCount(); i++)