元数据分析
元數據,是指僅擁有Connection一個對象的情況下,分析得出數據庫的所有信息。
DataBasemetadata:說明數據庫的信息。
ResultSetMetadata:說明數據結果的類型信息。(核心)
如果要進行元數據分析,就必須要使用statement,preparedstatement
List<Map> list = run.query("select * from users",new MapListHandler());
其中list返回的結果形式如下:[{id="001",Name="Jack",pwd="ddd"},,,,,,]
List<Bean> list = run.query("select * from users",new BeanListHandler<User>(User.class));
[User=[id=dd],,,,,,]
?
將某個制定的數據庫中的所有表及數據導出到excel中
用databaasemetadate分析數據庫的數據
版本
廠家
有多少張表
?
2. 用ResultSetMetadate分析結果集
此類事用來分析查詢的結果集:
分析有多少列,列名,列的類型是什么?
@Testpublic?void?db2()?throws?Exception{Connection?con?=?DataSourceUtils.getConn();//轉到sakila數據庫中去Statement?st?=?con.createStatement();st.execute("use?sakila");String?sql?=?"select?*?from?actor";ResultSet?rs?=?st.executeQuery(sql);//對rs結果集進行分析ResultSetMetaData?rsmd?=?rs.getMetaData();//獲取多少列int?cols?=?rsmd.getColumnCount();System.out.println(cols);//獲取每一個字段名List<String>?colNames?=?new?ArrayList<String>();//保存所有字段for(int?i=0;i<cols;i++){String?colName?=?rsmd.getColumnName(i+1);System.out.print(colName+"\t\t");colNames.add(colName);}//獲取數據while(rs.next()){for(String?nm:colNames){String?val?=?rs.getString(nm);System.out.print(val+"\t\t");}System.out.println();}con.close();}總結
- 上一篇: 四种连接数据库的方法(DriverMan
- 下一篇: DBUtils事务处理