代码/** * @功能描述:顺序获取javaBean中的属性和对应的值,并格式化为"'','',...'',''" */public static String getFieldValueByName(Object obj) { StringBuffer valueStr = new StringBuffer(); Field fields[] = obj.getClass().getDeclaredFields(); String[] beanName = new String[fields.length]; Object[] beanValue = new Object[fields.length]; Object[] beanSourceType = new Object[fields.length]; try { Field.setAccessible(fields, true); for (int i = 0; i 0) { sqlValueStr = sqlValueStr.substring(0, sqlValueStr.lastIndexOf(",")); } return sqlValueStr;}/** * @功能描述:如果字符串是null,则返回""字符串 */public static String converEmpty(String str){ return (str == null || "null".equals(str)) ? "" : str;}
以上代码中,Field.setAccessible(fields,true); 是最为关键的一点。
在使用java反射机制获取 JavaBean 的属性值时,如果该属性被声明为private 的,需要将setAccessible设置为true. 默认的值为false