通过JDBC连接mysql数据库,得到一个list,包含的是每一条数据的HashMap
2012-10-10 13:31
691 查看
package com.wangc; import java.sql.*; import java.util.ArrayList; import java.util.HashMap; import java.util.List; /** * User: wangchao * Date: 12-10-10 下午1:28 * Description: 通过JDBC连接mysql数据库,得到一个list,包含的是每一条数据的HashMap */ public class JdbcGetList { //测试的数据 static String testUrl = "jdbc:mysql://192.168.0.101:3306/test"; static String testUserName = "wangc"; static String testPwd = "123456"; public static void main(String[] args) { ex(); } public static void ex() { Connection testConn = null; try { Class.forName("com.mysql.jdbc.Driver"); testConn = DriverManager.getConnection(testUrl, testUserName, testPwd); if (!testConn.isClosed() ) { System.out.println("数据库连接成功!"); String sql = "select * from my_table"; List list = getDataList(testConn,sql); if(null!=list){ for(int i=0; i<list.size(); i++){ System.out.println(list.get(i)); } }else{ System.out.println("list is null"); } } else { System.out.println("数据库连接失败!"); } } catch (ClassNotFoundException e) { e.printStackTrace(); System.out.println("com.mysql.jdbc.Driver not founded"); } catch (SQLException e) { e.printStackTrace(); } finally { try { testConn.close(); } catch (SQLException e) { e.printStackTrace(); System.out.println("数据库关闭失败!!!"); } } } public static List getDataList(Connection con, String sql){ List<HashMap> list = new ArrayList<HashMap>(); try { Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(sql); //获得数据的列标题 ResultSetMetaData rsmd = rs.getMetaData(); int count = rsmd.getColumnCount(); String[] name = new String[count]; for(int i=0; i<count; i++){ name[i] = rsmd.getColumnName(i+1); } rs.last(); int rows = rs.getRow(); //获取resultSet的大小 rs.beforeFirst(); while (rs.next()){ HashMap<String,String> hashMap = new HashMap<String, String>(); String tmp = rs.getString(1); try{ for(int i=1; i<rows; i++){ hashMap.put(name[i-1], rs.getString(i)); } }catch (Exception e){ list.add(hashMap); } } } catch (SQLException e) { System.out.println("method.getDateList.SQLException"); list = null; e.printStackTrace(); } return list; } }
最后是直接把每一个HashMap打印了出来,其实可以直接hashMap.get()来得到所关心的值。
相关文章推荐
- 通过JDBC连接mysql数据库,得到一个list,包含的是每一条数据的HashMap
- 当您通过使用 InfoPath 2010 表单连接到 Web 服务时沙盒中处理的代码包含的、 不返回的数据或您收到一条错误消息
- Java 通过JDBC连接Mysql数据库的方法和实例
- 04.01-JDBC通过hashmap存取数据
- J ba82 ava 通过JDBC连接Mysql数据库的方法
- MFC中的listcontrol控件连接mysql数据库输出数据
- java 通过JDBC连接Mysql数据库的方法和实例
- 【java基础:JDBC】通过读取配置文件进行数据库连接并读取数据的Demostration
- JAVA通过JDBC连接并操作MySQL数据库
- java Web连接MySQL数据库工具类 实现分组查询取组最后一条数据
- Java通过JDBC连接MySql数据库
- Java通过JDBC连接MySql数据库
- 解决js数据包含加号+通过ajax传到后台时出现连接错误
- 通过一个activity打开多个fragment,每个fragment包含一个List
- 一、JAVA通过JDBC连接mysql数据库(连接)
- Myeclipse中通过JDBC连接MySQL数据库的详细步骤
- Mysql中通过processlist方式查询Mysql数据库当前连接的用户及会话信息
- Java 通过JDBC连接Mysql数据库
- Java 通过JDBC连接并操作Mysql数据库
- JDBC通过SSH Tunnel连接MySQL数据库