文档章节

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

火龙战士
 火龙战士
发布于 2015/08/19 13:11
字数 193
阅读 2960
收藏 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;
}


© 著作权归作者所有

共有 人打赏支持
火龙战士

火龙战士

粉丝 111
博文 131
码字总数 99427
作品 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

没有更多内容

加载失败,请刷新页面

加载更多

Bash重定向详解

Bash重定向详解 Bash的重定向指的是将命令的输入和输出导向不同地方,而不是默认的标准输入、标准输出和标准错误。Bash的重定向实际上是对标准输入、标准输出和标准错误的重置,进而将所需输...

小陶小陶
今天
3
0
EventBus原理深度解析

一、问题描述 在工作中,经常会遇见使用异步的方式来发送事件,或者触发另外一个动作:经常用到的框架是MQ(分布式方式通知)。如果是同一个jvm里面通知的话,就可以使用EventBus。由于Event...

yangjianzhou
今天
6
0
OpenCV图像处理实例:libuv+cvui显示摄像头视频

#include <iostream>#include <opencv2/opencv.hpp>#define CVUI_IMPLEMENTATION#include <cvui.h>extern "C"{#include <uv.h>}using namespace std;#define WINDOW_NAM......

IOTService
今天
3
0
openJDK之JDK9的String

1.openJDK8的String 先来看下openJDK8的String的底层,如下图1.1所示: 图1.1 底层上使用的是char[],即char数组 每个char占16个bit,Character.SIZE的值是16。 2.openJDK9中的String 图2.1...

克虏伯
今天
4
0
UEFI 模式下如何安装 Ubuntu 16.04

作者:知乎用户 链接:https://www.zhihu.com/question/52092661/answer/259583475 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 针对UEFI模式下安装U...

寻知者
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部