hxflash 2009-11-27 14:44
浏览 725
已采纳

今天使用spring JdbcTemple.queryForObject(sql,Class);..发现了这样的白痴问题?如何解决?

如题
如果我自己定义个Bean,Person
class Person{
private int id;
private String username;
private String password;
get...
set...
}
JdbcTemple.queryForObject("select * from person",Person.class)
如果这么使用就会出现...
Incorrect column count : expected 1 actual 3

如果我查询一个字段再定义类型就可以?

JdbcTemple.queryForObject("select username from person",String.class)

[b]问题补充:[/b]
那我现在使用查询
返回List的
jdbcTemple.queryForList(sql,class);
难道这个list里面也必须是一个字段吗?我自己定义的属性不可以吗?

我以为底层会用反射帮我赋值?但是没有。想知道为什么。
[b]问题补充:[/b]
这些我都知道。
我现在使用的反射机制已经实现了查询全部返回List类型了。
我在想。有没有什么办法可以那么做。哈哈。就是传递个类型就可以返回该类型的对象。其实可以的。我在思考着尝试。

  • 写回答

6条回答 默认 最新

  • layer555 2009-11-29 21:49
    关注

    就是传递个类型就可以返回该类型的对象。。。
    含有RowMapper参数的方法目的不就是这个吗?而且从实践来看,采取自定义Rowmapper的方式比采用发射来完成要合理的多,要减少很多开销;而且Spring好像已经提供了通过反射完成拼装对象的方法,具体信息可以查看SimpleJdbcTemplate(2.5以后);采用SimpleJdbcTemplate要比普通的方便很多。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 slam rangenet++配置
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊