• 将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()方法

        根据字段的索引值取得字段的类型



  • 相关阅读:
    一道小学数学题
    Ubuntu下使用git提交代码至GitHub
    C#几个小知识点
    C#中巧用#if DEBUG 进行调试
    使用 HPC Pack 为 Azure 中的 Windows HPC 工作负荷创建和管理群集的选项
    使用 Chef 自动执行 Azure 虚拟机部署
    在 Azure 中管理 Windows 虚拟机的可用性
    什么是 Azure 中的虚拟机规模集?
    从 Azure 下载 Windows VHD
    如何使用 Packer 在 Azure 中创建 Windows 虚拟机映像
  • 原文地址:https://www.cnblogs.com/itmyhome/p/4131284.html
Copyright © 2020-2023  润新知