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();
}
}
}