文档章节

使用JDBC连接数据库,查询结果转成List或者Map(简洁版)

火龙战士
 火龙战士
发布于 2015/08/19 13:11
字数 193
阅读 3038
收藏 7

使用JDBC连接数据库,查询结果转成List或者Map(臃肿版): http://my.oschina.net/zhengweishan/blog/484377

这个感觉不是很好:然后改成下面的这种方式:

public static List<Map<String, Object>> convertList(ResultSet rs) {
    List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
    try {
        ResultSetMetaData md = rs.getMetaData();
        int columnCount = md.getColumnCount();
        while (rs.next()) {
            Map<String, Object> rowData = new HashMap<String, Object>();
            for (int i = 1; i <= columnCount; i++) {
                rowData.put(md.getColumnName(i), rs.getObject(i));
            }
            list.add(rowData);
        }
    } catch (SQLException e) {
    // TODO Auto-generated catch block
        e.printStackTrace();
    } finally {
        try {
            if (rs != null)
            rs.close();
            rs = null;
        } catch (SQLException e) {
            e.printStackTrace();
    }
}
    return list;
}


public static Map<String, Object> convertMap(ResultSet rs){
    Map<String, Object> map = new TreeMap<String, Object>();
    try{
        ResultSetMetaData md = rs.getMetaData();
        int columnCount = md.getColumnCount();
        while (rs.next()) {
            for (int i = 1; i <= columnCount; i++) {
                map.put(md.getColumnName(i), rs.getObject(i));
            }
        }
    } catch (SQLException e){
        e.printStackTrace();
    } finally {
        try {
            if (rs != null)
            rs.close();
            rs = null;
        } catch (SQLException e) {
            e.printStackTrace();
    }
    return map;
}


© 著作权归作者所有

共有 人打赏支持
火龙战士

火龙战士

粉丝 114
博文 133
码字总数 100090
作品 0
北京
后端工程师
私信 提问
加载中

评论(2)

火龙战士
火龙战士

引用来自“金某某”的评论

我是来点赞的~
金馆长1
金馆长1
我是来点赞的~
Play 2.0 用户指南 - 访问SQL数据库 -- 针对Scala开发者

配置JDBC连接池 Play 2.0 提供了一个内置插件来管理连接池。你可以配置多个数据库。 为了使用数据库插件,在conf/application文件中配置连接池。依照惯例,默认的JDBC数据源命名为 default:...

大东哥
2012/03/20
0
1
java基础专栏—DBUtils(2)

DBUtils 简化开发的冗余代码 QueryRunner中提供SQL语句操作API ResultSetHandler接口,用于定义select操作后怎样处理结果集 DBUtils对于一切事物的关闭类 是线程安全的 事务 将对个Sql操作封...

T-newcomer
2017/10/20
0
0
commons-DBUtils使用方式简介 2

SQLJavaMySQLJDBCBean 1.使用commons DButils组件对数据库进行查询。 首先使用数据源以及本组件进行数据库的连接,创建QueryRunner类型的对象。 使用数组,对sql语句中的占位符进行填充。 创...

王阔
2012/08/03
0
0
java操作数据库增删改查的小工具1--TxQueryRunner

在java程序中,一般使用jdbc连接数据库,比较麻烦,在看传智教程时学了一个工具类,用于简化与数据库之间的操作步骤,就是TxQueryRunner,他是QueryRunner的子类,用起来和他是一样的,特点是支持事务...

冬至饮雪
2016/01/21
0
0
Spring JdbcTemplate方法详解

JdbcTemplate主要提供以下五类方法: execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句; update方法及batchUpdate方法:update方法用于执行新增、修改、删除等语句;batchUpdate...

zqcju
2014/06/13
0
6

没有更多内容

加载失败,请刷新页面

加载更多

颜色模型与颜色应用---光的特性

电磁频谱 颜色的心理学特征

中国龙-扬科
20分钟前
2
0
android音频及强噪相关

Android AudioRecord和AudioTrack介绍(Android音频收集和播放 麦克风降噪) https://blog.csdn.net/tanningzhong/article/details/72844559 音频采集(AudioRecorder) https://www.jianshu.......

whoisliang
27分钟前
2
0
redis-持久化

RDB rdb持久化是把当前进程数据生成快照保存到磁盘的过程。触发RDB持久化过程分为手动触发和自动触发。 触发机制 bgsave执行流程 rdb优缺点 AOF 记录每次写命令,重启时再重新执行aof文件中的...

grace_233
31分钟前
3
0
电话激活Windows 中文操作系统步骤

已购买微软MAK批量授权,系统又在企业内网中,无法通过连接Internet进行激活,还可以通过电话完成激活。 前期准备 请提前准备好产品密钥,Product Key格式如下:XXXXX-XXXXX-XXXXX-XXXXX-XXX...

tonyfox
33分钟前
4
0
Apache用户认证,域名跳转,访问日志

Apache用户认证 当设置了用户认证后,用户访问网站时,需要输入用户名和密码才能访问。 可以全局设置,也可以为某几个虚拟主机单独配置。 下面以全局配置进行操作示例。 编辑httpd.conf进行配...

野雪球
38分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部