动态bean拷贝问题 自问自答:高手指点了下原来BeanUtils.copyProperties(entity,row);进行拷贝的时候要求数据库中的字段和实体中的属性名称相同。否则报错。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有好几种工具可以实现Bean to Bean的,貌似好多是通过配置文件来实现的,有的不需要两个属性名字必须相同,只需要配置对应关系就可以了,不过觉得有些麻烦。小弟最近也在探讨一种Bean To Bean的赋值方案,不知道各位高人还有什么解决办法,BeanUtils的方式应该是效率不高的吧。 今天又看见一个帖子用反射作的。可是发现一个问题:List<Student> students = new ArrayList<Student>();rs = pStmt.executeQuery();String recode="";Object object = "";ResultSetMetaData rsmd = rs.getMetaData();int clmnCount = rsmd.getColumnCount();while(rs.next()){ object = StudentDemo.class.newInstance(); for(int i=1; i<=clmnCount; i++){ if(rs.getString(rsmd.getColumnName(i))!= null){ recode = rs.getString(rsmd.getColumnName(i)); System.out.println(recode); }else{ recode = ""; } Method m =object.getClass().getMethod(getSetMethodName(rsmd.getColumnName(i)), new Class[]{recode.getClass()}); m.invoke(object, new Object[]{recode}); } students.add((Student)object); }recode = rs.getString(rsmd.getColumnName(i));取出的都是String类型。在后面的recode.getClass()则抱错说找不到getTime(java.lang.String)这个函数,可是实体类中的这个函数参数是Date类型。所以无法实现。不知道那位高手又好的解决办法。 DynaBean 是继承ResultSet吗? ResultSet.next是个数据结构,不知道这种怪异的写法干什么? 看看apache的dozer吧,也是bean - to -bean的。属性名,类型可以不同,可以是自定义类类型。。很不错的。 关于SpringMVC的问题 第一个struts2程序 hashset最多容纳多少个元素 SSH框架中更新mysql中的数据问题 在线等待。关于iterate里面的javaBean里包含javaBean的现实问题?急,谢谢 关于业务规则的表达/存储/执行 有研究和学习Tapestry的朋友交流一下 J2EE安装问题 spring结合quartz启动报错 java泛型方法实现工厂模式,麻烦各位帮忙看下,哪里错了 我复制hibernate.jar到/WEB-INF/lib/下...... annotation 问题
List<Student> students = new ArrayList<Student>();
rs = pStmt.executeQuery();
String recode="";
Object object = "";
ResultSetMetaData rsmd = rs.getMetaData();
int clmnCount = rsmd.getColumnCount();
while(rs.next()){
object = StudentDemo.class.newInstance();
for(int i=1; i<=clmnCount; i++){
if(rs.getString(rsmd.getColumnName(i))!= null){
recode = rs.getString(rsmd.getColumnName(i));
System.out.println(recode);
}else{
recode = "";
}
Method m =object.getClass().getMethod(getSetMethodName(rsmd.getColumnName(i)), new Class[]{recode.getClass()});
m.invoke(object, new Object[]{recode});
}
students.add((Student)object);
}
recode = rs.getString(rsmd.getColumnName(i));取出的都是String类型。在后面的recode.getClass()则抱错说找不到getTime(java.lang.String)这个函数,可是实体类中的这个函数参数是Date类型。所以无法实现。不知道那位高手又好的解决办法。
属性名,类型可以不同,可以是自定义类类型。。
很不错的。