如何使用DBUtils查询List <String>?

her*_*tim 5 java apache-commons-dbutils

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

我可以这样做是创建一个包装String并使用BeanListHandler的Bean,或者可能返回一个List<Object[]>并以这种方式捕获我的字符串.

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

mat*_*tts 12

尝试a ColumnListHandler,并告诉它从您的查询中使用哪个列.您可以传入列索引或列名称来提取.就像是:

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

在内部,如果所选列是字符串类型,则使用ResultSet#getObject返回a String,因此请确保您没有选择数字或日期类型或其他内容(如果您是,在其他情况下转换或以其他方式将其转换为char类型) .