首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java 反照 使用小技巧

2012-11-04 
java 反射 使用小技巧经常要读取txt或者excel到数据库以前都是读取后然后转成list,然后set到表对象(hibern

java 反射 使用小技巧

经常要读取txt或者excel到数据库

以前都是读取后然后转成list,然后set到表对象(hibernate映射的表对象),

然后再session.save(entity),

如果文件中的title很多的话,就太麻烦了。

?

?

现在用java 反射,可以轻松解决

?

ClubWinterActivity是表对象,new String[]{}中是txt中的title,就是说取这些值,放入表对象的这些字段:

private static void setObjectFieldsValue(Object o, String[] values,String[] fieldNames) throws Exception {if (null != values && values.length > -1) {for (int i = 0; i < fieldNames.length; i++) {Field field = o.getClass().getDeclaredField(fieldNames[i]);field.setAccessible(true);String typeName = field.getType().getSimpleName();if ("Long".equals(typeName) || "long".equals(typeName))field.set(o, Long.parseLong(values[i]));else if ("Date".equals(typeName))field.set(o, DateUtils.getDateByFormat(values[i],Constants.DATEFORMAT1));else if ("Integer".equals(typeName) || "int".equals(typeName))field.set(o, Integer.parseInt(values[i]));else if ("Double".equals(typeName) || "double".equals(typeName))field.set(o, Double.parseDouble(values[i]));else if ("Float".equals(typeName) || "float".equals(typeName))field.set(o, Float.parseFloat(values[i]));else if ("Boolean".equals(typeName)|| "boolean".equals(typeName))field.set(o, Boolean.parseBoolean(values[i]));elsefield.set(o, values[i]);}}}
?

?

?

?

?

?

?

?

?

?

热点排行