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条)

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?