1,建立Connection Connection conn = ...//2,获得DatabaseMetaData的实例 DatabaseMetaData metaData = conn.getMetaData();//3,获取库名列表 ResultSet rs = metaData.getCatalogs(); while (rs.next()) ...{ System.out.println(rs.getString("TABLE_CAT"));}//4,获取表名列表ResultSet rs = metaData.getTables(conN.getCatalog(), null, null, new String[]...{"TABLE"});while (rs.next()) ...{ System.out.println(rs.getString("TABLE_NAME"));}
实例:获取表名
import java.sql.*;
public class Tables{
public static void main(String[] args)
{
String dbDrive="com.mysql.jdbc.Driver";
String url="jdbc:mysql://localhost:3306/test";
String name="root";
String password="123456";
Connection conn=null;
DatabaseMetaData md=null;
ResultSet rs=null;
int i=1;
try
{
Class.forName(dbDrive);
conn=DriverManager.getConnection(url,name,password);
md=conn.getMetaData();
rs=md.getTables(null,null,null,null);
System.out.println("+----------------+");
while(rs.next())
{
if(i==1)
{
System.out.println("|库名:"+rs.getString(1));
System.out.println("+----------------+");
}
System.out.println("|表"+(i++)+":"+rs.getString("TABLE_NAME"));
}
System.out.println("+----------------+");
rs.close();
conn.close();
}catch(Exception e)
{
e.printStackTrace();
}
}
}
实例:获取字段名
import java.sql.*; import java.util.*; import com.microsoft.*; public class SQLServerTest { private static ArrayList al= new ArrayList(); public static void main(String[] args) { try{ Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); String url="jdbc:microsoft:sqlserver://SaisanSvr:1433;DatabaseName=GenKa"; String user="sa"; String password="111"; Connection conn= DriverManager.getConnection(url,user,password); Statement stmt=conn.createStatement(); String sql="select * from test1"; ResultSet rs=stmt.executeQuery(sql); ResultSetMetaData rsmd = rs.getMetaData(); //获取字段名 String sName = rsmd.getColumnName(1); while(rs.next()) { System.out.println(rs.getString("test")); } }catch(Exception e){ e.printStackTrace(); } } }