• 将JDBC ResultSet结果集变成List


    private List<Map<String, Object>> list = new ArrayList<Map<String,Object>>();
    
    public String queryAll() {
    	Connection conn = null;
    	Statement sta = null;
    	ResultSet rs = null;
    	try {
    		Class.forName("com.mysql.jdbc.Driver");
    		conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/easyui", "root", "root");
    		sta = conn.createStatement();
    		rs = sta.executeQuery("select * from e_user");
    		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 (ClassNotFoundException e) {
    		e.printStackTrace();
    	} catch (SQLException e) {
    		e.printStackTrace();
    	}
    	return "success";
    }


    ResultSet简单介绍:
        ResultSet包括符合SQL语句中条件的全部行,而且它通过一套get方法(这些get方法能够訪问当前行中的不同列)

        提供了对这些行中数据的訪问。

    ResultSet.next方法用于移动到ResultSet中的下一行,使下一行成为当前行。

        上面的rs.getObject(i) 即是获得这一行的数据值

    ResultSetMetaData简单介绍:
        利用ResultSet的getMetaData的方法能够获得ResultSetMeta对象,而ResultSetMetaData存储了ResultSet的MetaData。

        所谓的MetaData在英文中的解释为"Data about Data",直译成中文则为"有关数据的数据"或者"描写叙述数据的数据",

        实际上就是描写叙述及解释含义的数据。以Result的MetaData为例,ResultSet是以表格的形式存在,所以getMetaData

        就包括了数据的 字段名称、类型以及数目等表格所必须具备的信息。在ResultSetMetaData类中主要有一下几个方法。

        ResultSetMetaData rsmd=rs.getMetaData();

        1、getColumCount()方法

        返回全部字段的数目

        2、getColumName()方法

        依据字段的索引值取得字段的名称。

        3、getColumType()方法

        依据字段的获取指数类型字段



    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    128. 最长连续序列( 数组背诵题吧)
    310. 最小高度树 (拓扑排序 bfs)
    797. 所有可能的路径(图的遍历)
    sql关于group by和max函数一起使用的坑(同理,求部门最高工资)
    计算正逆序
    886. 可能的二分法(dfs bfs二部图判断)
    java实现RSA加密
    读取logback日志
    logback进阶
    词法分析笔记2
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/4887020.html
Copyright © 2020-2023  润新知