首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

ResultSetMetaData 跟 DatabaseMetaData

2013-10-18 
ResultSetMetaData 和DatabaseMetaDataResultSetMetaData:用来分析 结果集信息DatabaseMetaData:用来分

ResultSetMetaData 和 DatabaseMetaData
ResultSetMetaData:用来分析 "结果集"信息
DatabaseMetaData:用来分析是"数据库"信息

//做一个简单的 查询执行器




//分析数据库信息
package com.enhance.jdbc;import java.io.FileInputStream;import java.sql.Connection;import java.sql.DatabaseMetaData;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import java.sql.SQLException;import java.util.Properties;public class DataBaseMetaDataTest {private String driver;private String url;private String user;private String pass;private Connection conn;private ResultSet rs;public void initParam(String paramFile) throws Exception{Properties prop=new Properties();prop.load(new FileInputStream(paramFile));driver=prop.getProperty("driver");url=prop.getProperty("url");user=prop.getProperty("user");pass=prop.getProperty("pass");}public void info() throws Exception{try {Class.forName(driver);conn=DriverManager.getConnection(url,user,pass);//获取DataBaseMeteData对象DatabaseMetaData dbmd=conn.getMetaData();//获取MySql支持的所有类型ResultSet rs=dbmd.getTableTypes();System.out.println("----MySql支持的表的类型信息----");printResultSet(rs);//获取当前数据库的全部数据表rs=dbmd.getTables(null,null, "%", new String[]{"TABLE"});System.out.println("----当前数据库中的所有表信息----");printResultSet(rs);rs=dbmd.getPrimaryKeys(null, null, "my_test");System.out.println("----my_test表中的主键信息----");printResultSet(rs);rs=dbmd.getProcedures(null, null, "%");System.out.println("----当前数据库中所有存储过程信息----");printResultSet(rs);rs=dbmd.getCrossReference(null, null, "time_zone", null, null, "time_zone_name");System.out.println("----time_zone表和time_zone_name表之间的外键约束----");printResultSet(rs);rs=dbmd.getColumns(null, null, "my_test", "%");System.out.println("----my_test表的全部数据列----");printResultSet(rs);System.out.println(dbmd.getDatabaseProductName());System.out.println(dbmd.getDatabaseProductVersion());System.out.println(dbmd.getDriverName());System.out.println(dbmd.getDriverVersion());} finally{if(rs!=null)rs.close();if(conn!=null)conn.close();}}public void printResultSet(ResultSet rs) throws SQLException{ResultSetMetaData rsmd=rs.getMetaData();for (int i = 0; i < rsmd.getColumnCount(); i++) {System.out.print(rsmd.getColumnName(i+1)+"\t");}System.out.println();while(rs.next()){for (int i = 0; i < rsmd.getColumnCount(); i++) {System.out.print(rs.getString(i+1)+"\t");}System.out.println();}rs.close();}public static void main(String[] args) throws Exception {// TODO Auto-generated method stubDataBaseMetaDataTest dbmdt=new DataBaseMetaDataTest();dbmdt.initParam("src/mysql.ini");dbmdt.info();}}

热点排行