查看DBUtils API docs,我无法查看是否可以查询List<String>
,方法与使用BeanListHandler查询List<MyBean>
的方式相同。
我可以创建一个包装String的Bean并使用BeanListHandler或者可能返回List<Object[]>
并以这种方式删除我的字符串。
但是有一种更直接的方式,DBUtils可以为一个从varchar表列生成一堆String值的查询传回List<String>
吗?
答案 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类型。