下面是从一个师兄的项目里拷来的代码
从里面的system.out可以看出来数据可以从数据库里取出来.但是数据往bean里注入的时候
注入不进去, public List executeQuery(final String sqlStr, Class clazz, Object[] params) {
try {
getConnection();
pstmt = conn.prepareStatement(sqlStr);
if (params != null) {
for (int i = 0; i < params.length; i++) {
pstmt.setObject(i + 1, params[i]);
}
}
rs = pstmt.executeQuery();

List list = new ArrayList();
ResultSetMetaData rm = rs.getMetaData();
while (rs.next()) {
Map<String, Object> m = new HashMap<String, Object>();
for (int i = 0; i < rm.getColumnCount(); i++) {
m.put(rm.getColumnLabel(i+1), rs.getObject(i+1));
System.out.println("列名"+rm.getColumnLabel(i+1));
System.out.println("列数据"+rs.getObject(i+1).toString());
}
Object o = clazz.newInstance();
System.out.println("类名称"+clazz.getName());

if(o!=null)
{
System.out.println("object类实例创建成功");
}

//注意:使用时实体类属性要和数据库中的字段名相同
BeanUtils.populate(o, m);

list.add(o);
}
closeConn();
return list;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
用下面语句调用的时候总是显示找到用户null
List<User> userList = executeQuery(sql, User.class, ps);
if(userList.size()!=0)
{
System.out.println(userList.size());
User user = userList.get(0);
System.out.println("");
System.out.println("找到用户"+user.getUsername());
return user;
}else{
               return null;
                }
师兄那个代码跟我的基本一样,他的就能取出来,我的就全是null求解啊%>_<%

解决方案 »

  1.   

    点错了.点成板砖了.不哈意思
    嗯,不为0,好像newinstance创建了,就是bean里没有数据
      

  2.   

    求解啊%>_<%%>_<%%>_<%%>_<%%>_<%%>_<%%>_<%%>_<%%>_<%%>_<%%>_<%
      

  3.   

    User user = userList.get(0);
    debug看这个user对象内容是什么?
      

  4.   

    有木有大神帮下忙啊,我把项目传到网盘里了,下面是地址,跪求帮忙
    http://pan.baidu.com/share/link?shareid=2604106337&uk=2433104747
      

  5.   

    既然user有值,但属性值为空,只能说明,数据库这条字段是空的了。
      

  6.   

    但是确实数据库有值,并且
    System.out.println("列名"+rm.getColumnLabel(i+1));
    System.out.println("列数据"+rs.getObject(i+1).toString());这两条语句把取出来的数据都输出了
    求帮忙啊大神http://pan.baidu.com/share/link?shareid=2843285134&uk=2433104747