java反射问题,求指教

人工智能-张晨光
优质创作者: 前端开发技术领域
领域专家: 后端开发技术领域
2016-10-22 09:41:48
数据表:
Create database News
go
use News
go
Create table UserInfo
(
Id int identity(1,1)primary key,
username varchar(20),
pwd varchar(20),
createTime date
)

package nan;

import java.util.ArrayList;
import java.util.List;
import java.lang.reflect.*;
import java.sql.*;
//flashFXP访问;Server-u:建ftp服务器的

public class MetaDataTest<T> {
public List<T>generalSearch(String sql,Object[]args,String className){
//存储返回的集合对象
List<T>list=new ArrayList<T>();

Connection con=DaoFactory.getConnection();
PreparedStatement pstmt=null;
ResultSet rs=null;

//使用反射获取类的信息;
try {
Class<T>clazz=(Class<T>)Class.forName(className);
Field[]fields=clazz.getDeclaredFields();
Method method=null;

pstmt=con.prepareStatement(sql);
rs=pstmt.executeQuery();
ResultSetMetaData resmd=null;
resmd=rs.getMetaData();
int columncount=resmd.getColumnCount();

while(rs.next()){
T obj=clazz.newInstance();//实例化
for(int i=1;i<=columncount;i++){
String cname=resmd.getColumnName(i);
int ctype=resmd.getColumnType(i);
for(Field f:fields){
if(cname.equals(f.getName())){
//封装数据
String firstLetter=f.getName().substring(0,1).toUpperCase();
String methodName="set"+firstLetter+f.getName().substring(1);
//如果列是整型的
if(ctype==Types.INTEGER){
//System.out.println(methodName);
//System.out.println(rs.getInt(i));
//method=clazz.getMethod(methodName, Integer.class);
//method.invoke(obj, rs.getInt(i));
}
//else if(ctype==Types.VARCHAR){
// method=clazz.getMethod(methodName, String.class);
// method.invoke(obj, rs.getString(i));
// }else if(ctype==Types.TIMESTAMP){
// method=clazz.getMethod(methodName, Date.class);
// method.invoke(obj, rs.getDate(i));
// }else if(ctype==Types.NUMERIC){
// method=clazz.getMethod(methodName,Double.class);
// method.invoke(obj, rs.getDouble(i));
// }
}
}
list.add(obj);
}
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
}


package nan;

import java.util.List;


public class TestMD {
public static void main(String[] args) {

String sql="select * from userinfo";
MetaDataTest mdt=new MetaDataTest<UserInfo>();
List<UserInfo>list=mdt.generalSearch(sql, null,UserInfo.class.getName());
System.out.println("ID\t姓名\t密码");
for(UserInfo user:list){
System.out.println(user.getId()+"\t"+
user.getUsername()+"\t"+
user.getPwd()+"\t");
}
}
}



报错是类型不匹配,请高手指教是哪方面的问题???实体类省略了
...全文
317 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
大山-小浩子 2016-10-22
  • 打赏
  • 举报
回复
这个问题不会
代码转载自:https://pan.quark.cn/s/50df8825dc0d Tensilica Xtensa指令集架构手册是一份详尽阐述Xtensa指令集架构(ISA)的参考指南,它主要面向Tensilica公司所推出的处理器核心,尤其是LX106核,同时亦涵盖了ESP8266和ESP32等相关内容。该手册全面介绍了Xtensa处理器核心的指令集、配置选项、扩展能力以及将架构映射至硬件的详细情况。接下来将依据手册中所述的知识点进行深入解读。 ### Xtensa指令集架构(ISA) Xtensa指令集架构是Tensilica公司为其处理器产品设计的一套指令集,该指令集具备高度的可配置性和可扩展性。这一特性使得Xtensa ISA能够在不同的应用领域和硬件需中进行个性化定制,以满足特定的功能与性能要。 #### 可配置性(Configurability) Xtensa ISA的可配置性体现在用户可以根据实际需对处理器的多个方面进行定制。这包括但不限于: - **指令集扩展**:用户可以根据特定的应用需添加新的指令,从而提升处理特定任务的效率。 - **寄存器文件扩展**:根据应用需,可以增加或优化处理器的寄存器数量和类型。 - **协处理器扩展**:通过集成特定的协处理器,可以将专门的计算任务卸载到协处理器上,从而提升整体性能。 #### 可扩展性(Extensibility) Xtensa ISA不仅可配置,还拥有卓越的可扩展性,它支持多种扩展,包括: - **状态扩展(State Extensions)**:允许处理器添加新的状态寄存器,以支持新的功能或增强现有功能。 - **指令扩展(Instruction Extensions)**:...
下载代码方式:https://pan.quark.cn/s/8779ceeac982 YOLOv5被认为是一种功能卓越且精确度高的目标检测系统,它在即时处理场景中展现出优越的性能。"基于YOLOv5的火灾检测"计划致力于运用这项尖端的计算机视觉方法,以达成对火焰和烟雾的有效辨识,进而起到防止及降低火灾事故的作用。在这个压缩文件里,用户能够获取到预先训练完成的模型,这表示使用者能够直接执行推理检测,无需从头开始训练模型。 我们现在将详细探讨YOLO(You Only Look Once)系统。YOLO是一种单阶段的目标检测方法,它将目标检测任务转化成回归问题,通过直接预测边界框和类别可能性来迅速识别图像中的物体。YOLOv5是这一系列的最新迭代,由Ultralytics团队研发,它在前几代的基础上进行了改进,包括更迅速的训练速率、更精准的检测以及更强的适应性。 YOLOv5的关键优化包含: 1. **数据增强**:应用了Mosaic数据增强技术,这是一种融合了随机缩放、翻转、裁剪及色彩调节的技巧,增强了模型的普遍适用性。 2. **更高效的架构**:运用了SPP-Block(Spatial Pyramid Pooling)和Path Aggregation Network (PANet)设计,提升了特征提取的效能和精确度。 3. **权重初始化**:采用了更优化的权重初始化策略,使模型在初始训练阶段就能更快地达到收敛。 4. **联合训练**:YOLOv5支持多尺度训练,即同步训练不同尺度的网络,以改善对小目标的检测效果。 5. **优化的损失函数**:使用了GIOU(Generalized IoU)损失函数,改进了边界框的定位。 针对火灾检测的应用,YOLOv...

67,535

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧