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

标签 java apache-commons-dbutils

查看DBUtils API docs , 我看不到是否可以查询 List<String>就像我可以查询 List<MyBean> 一样使用 BeanListHandler。

我可以创建一个包装字符串的 Bean 并使用 BeanListHandler,也可以返回一个 List<Object[]>。并以这种方式取出我的字符串。

但是有没有更直接的方法让 DBUtils 可以传回 List<String>对于从 varchar 表列生成一堆字符串值的查询?

最佳答案

尝试使用 ColumnListHandler,并告诉它要使用查询中的哪一列。您可以传入要提取的列索引或列名。像这样的东西:

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

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

关于java - 如何使用 DBUtils 查询 List<String>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15162976/

相关文章:

java - 从 ArrayList 中查找最近的 3 个点

java - 找不到符号新

java - Mongo java api 忽略嵌套的 or/and 运算符

java - 我正在使用 spring Rest api 开发一个示例应用程序。但我收到一个错误,我认为它与 jackson 库有关

java - 具有 CONTAINS 功能的 JPA Criteria api

java - apache-commons-dbutils 可以将 beans 转换为 SQL 语句吗?

java - 如何使我的java代码与数据库中的所有表兼容,我需要从中提取数据,然后将其写回Excel文件

python - 从 Databricks 中的 dbutils.fs.ls 输出创建数据框

java - 使用 DbUtils BeanListHandler 在可重用 JavaFX 数据检索服务上摸索通用类型

sql - Apache Dbutils 在更新 Sql 中更改列名