用spring getJdbcTemplate().queryForObject查询数据库里的一条记录是报错
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用spring getJdbcTemplate().queryForObject查询数据库里的一条记录是报错相关的知识,希望对你有一定的参考价值。
用spring this.getJdbcTemplate().queryForObject(sql, News.class),查询数据库里的一条数据,结果报错org.springframework.jdbc.IncorrectResultSetColumnCountException: Incorrect column count: expected 1, actual 4
查询非要用实现这个RowMapper接口的类进行封装吗?
我用的注解没有用实现RowMapper的封装类,我做了两个功能一个是列表显示,一个是输入id号查询,那个列表显示能够实现,查询实现不了我的代码如下
public List<News> showNews()
String sql="select * from t_news order by createTime ";
return this.getJdbcTemplateWithPagination().queryForList(sql);
public News getNews(int newsId)
String sql="select * from t_news where newsId=" + newsId;
return (News) this.getJdbcTemplate().queryForObject(sql, News.class);
JdbcTemplate有没有其他的方法可以查询一条记录并返回的!
getJdbcTemplate().queryForList(sql)返回的list里面是空值,但是我在PL/SQL里面执行SQL的时候是有数据的
getJdbcTemplate().queryForList(sql),你这sql语句也要传值吧!看下值是否传对了,是否传进去了。你自己测试sql语句的时候传入的值是写死的。如果没有入参数,那问题只有一个,那就是getJdbcTemplate()得到的这个模板有问题,你看其他用同一个模板的查询语句能用不? 参考技术A 先把sql输出一下看是不是正确的追问
我说了 在PL/SQL里面执行那个sql的时候是对的,查的数据也符合条件
追答你自己觉得可能吗?
在外部执行没有问题,放到里面就有问题了.
这些问题一般都是一些细节没有注意.你再仔细检查检查.
以上是关于用spring getJdbcTemplate().queryForObject查询数据库里的一条记录是报错的主要内容,如果未能解决你的问题,请参考以下文章
getJdbcTemplate().batchUpdate的性能优化
SpringMVC GetJdbcTemplate() 从查询中获取值
getJdbcTemplate().queryForList(sql)返回的list里面是空值,但是我在PL/SQL里面执行SQL的时候是有数据的