java:我的DButils的QueryRuner为什么会这样...

注意红线的那一行

图片描述

官方文档
我认为我这里用的应该是该类的All methods中的第六个方法

<T> List<T>    execute(String sql, ResultSetHandler<T> rsh, Object... params)

应当返回List<Schedule>

某些人真的是睿智,问题么不能回答,点踩倒是点的很勤快,呵呵.

回答:

你传入的 ResultSetHandler<T> 有问题。这里你传入的是 BeanListHandler<T>
看一下他的实现这里本身就是一个List<T>, 我猜这里传入一个BeanHandler<T> 应该可以解决你的问题。

public class BeanListHandler<T>

extends Object

implements ResultSetHandler<List<T>>

这里省略了部分代码,核心部分如下。你查看BeanListHandler<T>的handle方法会发现这里的返回值是一个List,最后就变成了List<List<Schedule>>

private <T> List<T> execute(Connection conn, boolean closeConn, String sql, ResultSetHandler<T> rsh, Object... params) throws SQLException {     

List<T> results = new LinkedList<T>();

ResultSet rs = null;

rs = this.wrap(stmt.getResultSet());

results.add(rsh.handle(rs));

return results;

}

回答:

你用的应该是第六个,但是第二个参数是什么类型?是不是多了一个list?
https://commons.apache.org/pr...

以上是 java:我的DButils的QueryRuner为什么会这样... 的全部内容, 来源链接: utcz.com/p/172086.html

回到顶部