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

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



  • 相关阅读:
    Java 过滤器的作用
    TreeView的绑定
    设计模式(一)工厂模式Factory(创建型)
    【剑指offer】员工年龄排序
    Spring3.0 AOP 具体解释
    IT行业新名词--透明手机/OCR(光学字符识别)/夹背电池
    MYSQL C API 记录
    Hibernate的介绍
    数据绑定(八)使用Binding的RelativeSource
    一、ExtJS下载使用
  • 原文地址:https://www.cnblogs.com/itmyhome/p/4131284.html
Copyright © 2020-2023  润新知