dbutils返回键值对

dbutils好像没有直接返回键值对的形式的handler,因为在数据库保存的是键值对的配置,如下图

sqlitekeyvalue

所以需要直接返回一个以key为键名,以value为值的Map类型数据,具体实现如下:

1、自定义一个handler

package com.renyiwei.handlers;
 
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
 
import org.apache.commons.dbutils.ResultSetHandler;
 
public class KeyValueHandler implements ResultSetHandler<Map<String, String>> {
 
  private String key;
  private String value;
 
  public KeyValueHandler() {
    this.key = "key";
    this.value = "value";
  }
 
  public KeyValueHandler(String key, String value) {
    this.key = key;
    this.value = value;
  }
 
  @Override
  public Map<String, String> handle(ResultSet rs) throws SQLException {
    Map<String, String> keyValueMap = new HashMap<String, String>();
    while (rs.next()) {
      //将每一列的key作为返回值map的键名,value作为返回值map的值
      keyValueMap.put(rs.getString(key), rs.getString(value));
    }
    return keyValueMap;
  }
 
}
 

2、在利用QueryRunner查询时传入KeyValueHandler对象

String sql = "select key,value from global";
return qr.query(sql, new KeyValueHandler("key", "value"));

本文出自 全栈笔记 版权所有,你可以在保留原文地址:dbutils返回键值对 及作者的情况下到你的网站或博客。

【上一篇】
【下一篇】

您可能感兴趣的文章:

发表评论

您必须 登录 后才能发表评论。