查看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/