BeanUtils.setProperty(bean, key, value)怎么没起作用啊
上一部分代码:
public static <T> List<T> getForList(Class<T> clazz, String sql,
Object ... args){
List<T> list = new ArrayList<>();
Connection conn = null;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
try {
conn = JDBCTools.getConnection();
preparedStatement = (PreparedStatement) conn.prepareStatement(sql);
for(int i = 0; i < args.length; i++){
preparedStatement.setObject(i+1, args[i]);
}
resultSet = preparedStatement.executeQuery();
ResultSetMetaData rsmd = (ResultSetMetaData) resultSet.getMetaData();
Map<String, Object> map = null;
List<Map<String, Object>> listMap = new ArrayList<>();
while(resultSet.next()){
map = new HashMap<>();
for(int i = 0; i < rsmd.getColumnCount(); i++){
String columnLable = rsmd.getColumnLabel(i+1);
Object columnValue = resultSet.getObject(i+1);
map.put(columnLable, columnValue);
}
listMap.add(map);
}
T bean = null;
if(listMap.size() > 0){
for(Map<String, Object> map1 : listMap){
bean = clazz.newInstance();
for(Map.Entry<String, Object> entry : map1.entrySet()){
String key = entry.getKey();
Object value = entry.getValue();
System.out.println(key); //debug
System.out.println(value); //debug
BeanUtils.setProperty(bean, key, value); //问题出在这,感觉bean没被赋值。
}
list.add(bean);
}
}
} catch (Exception e) {
e.printStackTrace();
} finally{
JDBCTools.release(resultSet, preparedStatement, conn);
}
return list;
}
// 测试类
@Test
public void testGetForList2(){
String sql = "SELECT ID, Name, Age, Email from students";
List<Student> students = DAO.getForList(Student.class, sql);
System.out.println(students);
}
// 结果输出:从打印结果可以看出,两条debug的输出是有数据的,怎么紧接着的BeanUtils.setProperty(bean, key, value), 没有对bean对象赋值呢? 求大神解答。
Email
zhangsan@123.com
ID
1
Age
18
Name
zhang, sanfeng
Email
lisi@123.com
ID
2
Age
19
Name
li, si
Email
wangwu@123.com
ID
3
Age
20
Name
Wang, wu
Email
zhaoliu@123.com
ID
4
Age
21
Name
Zhao, liu
Email
wangyuan@123.com
ID
6
Age
22
Name
Wang, yuan
Email
mazi@jd.com
ID
7
Age
20
Name
wang, mazi
[Student [id=0, name=null, age=0, email=null]
, Student [id=0, name=null, age=0, email=null]
, Student [id=0, name=null, age=0, email=null]
, Student [id=0, name=null, age=0, email=null]
, Student [id=0, name=null, age=0, email=null]
, Student [id=0, name=null, age=0, email=null]
]