JDBC MetaData有两种:
• 结果集的MetaData
• 数据库的MetaData
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
public class TestMetaData {
public staticvoid test(){
Connection conn = new ConnectionUtil().openConnection();
try {
Statement stmt = conn.createStatement();
String sql = "select * from CustomerTbl";
ResultSet rs = stmt.executeQuery(sql);
ResultSetMetaData rsmd = rs.getMetaData();
// 获取字段数
int columns = rsmd.getColumnCount();
for (int i=1;i<=columns;i++){
//获取字段名
String name = rsmd.getColumnName(i);
//获取字段类型
int type = rsmd.getColumnType(i);
System.out.println(name+":"+type);
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
//
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.SQLException;
public class TestMetaData {
public staticvoid test(){
Connection conn = new ConnectionUtil().openConnection();
try {
DatabaseMetaData dbmd = conn.getMetaData();
System.out.println(dbmd.getDatabaseProductName());
System.out.println(dbmd.getDatabaseMajorVersion());
} catch (SQLException e1) {
e1.printStackTrace();
}finally{
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
/*
try {
Statement stmt = conn.createStatement();
String sql = "select * from CustomerTbl";
ResultSet rs = stmt.executeQuery(sql);
ResultSetMetaData rsmd = rs.getMetaData();
int columns = rsmd.getColumnCount();
for (int i=1;i<=columns;i++){
String name = rsmd.getColumnName(i);
int type = rsmd.getColumnType(i);
System.out.println(name+":"+type);
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
*/
}
}