将JDBC ResultSet结果集变成List
2015-10-17 10:17
155 查看
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()方法
依据字段的获取指数类型字段
相关文章推荐
- android Sqlite SQL语句
- PageContext ServletContext ServletConfig辨析
- 深度优先搜索——红与黑
- PageContext ServletContext ServletConfig辨析
- 在 Unix 系统上查找数据的最佳工具和技巧
- 排列问题的其中一种解法
- python变量
- SpringMVC 配置过程及详解
- Android动画知识汇总
- 电话操作-JSON解析-图片下载工具类
- 3dmax处理模型的子对象和轴心
- iOS多线程之GCD-NSOperation对比总结
- IT资产管理必备的工具有哪些
- poj 1721 CARDS 洗牌机
- 你不知道的JavaScript--Item7 函数和(命名)函数表达式
- 从现在开始正式进入智能家居行业
- 你不知道的JavaScript--Item7 函数和(命名)函数表达式
- 简单实现利用EasyTouch实现物体的跳跃
- 中间件的日志类
- 简析安卓开发之activity(sumzom)