如何使用DBUtils查询List <string>?</string>

时间:2013-03-01 17:02:29

标签: java apache-commons-dbutils

查看DBUtils API docs,我无法查看是否可以查询List<String>,方法与使用BeanListHandler查询List<MyBean>的方式相同。

我可以创建一个包装String的Bean并使用BeanListHandler或者可能返回List<Object[]>并以这种方式删除我的字符串。

但是有一种更直接的方式,DBUtils可以为一个从varchar表列生成一堆String值的查询传回List<String>吗?

1 个答案:

答案 0 :(得分:12)

尝试使用ColumnListHandler,并告诉您在查询中使用哪个列。您可以传入列索引或列名称来提取。类似的东西:

List<String> strings = runner.query("SELECT my_col FROM my_table",
                                    new ColumnListHandler<String>(1));
                                    // gets first column

在内部,它使用ResultSet#getObject,如果所选列是字符串类型,则会返回String,因此请确保您没有选择数字或日期类型或其他内容(如果您是,则为或者在select查询中将其转换为char类型。