package jdbc;
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.sql.Statement;
public class MetaData {
/**
* @Title: main
* @Description:
* @param:
* @return void
* @user: wangzg
* @Date:2014-6-27
* @throws
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Connection conn = null;
Statement st = null;
ResultSet rs = null;
ResultSet rsTwo = null;
try {
conn = getConnection();
System.out.println("++++++++++++++++++++++++++++++++++++++");
//数据库源数据
DatabaseMetaData dbmd = conn.getMetaData();
System.out.println("URL:"+dbmd.getURL());
System.out.println("UserName:"+dbmd.getUserName());
rs = dbmd.getTables(conn.getCatalog(), dbmd.getUserName(), null,new String[]{"TABLE"});
//ResultSet源数据
ResultSetMetaData rsmd=rs.getMetaData();
System.out.println("该数据库中所有表及其表信息:"+"共:"+rsmd.getColumnCount()+"列:");
while(rs.next()){
System.out.println("++++++++++++++++++++++++++++++++++++++");
for(int i = 1 ; i<= rsmd.getColumnCount(); i++){
if("VARCHAR2".equals(rsmd.getColumnTypeName(i))){
System.out.print(rsmd.getColumnName(i)+":"+rs.getString(rsmd.getColumnName(i))+",");
}
}
System.out.println();
System.out.println("++++++++++++++++++++++++++++++++++++++");
st = conn.createStatement();
String sql = "select * from "+rs.getString("TABLE_NAME");
// boolean flg = st.execute(sql);
// if(flg){
// rsTwo = st.getResultSet();
// }else{
// int count = st.getUpdateCount();
// }
//
rsTwo = st.executeQuery(sql);
while(rsTwo.next()){
//ResultSet源数据
ResultSetMetaData rsmdTwo=rsTwo.getMetaData();
System.out.println("表"+rs.getString("TABLE_NAME")+"共:"+rsmdTwo.getColumnCount()+"列:");
for(int j = 1 ; j<= rsmdTwo.getColumnCount(); j++){
if("VARCHAR2".equals(rsmdTwo.getColumnTypeName(j))){
System.out.print(rsmdTwo.getColumnName(j)+":"+rsmdTwo.getCatalogName(j)+":"+rsTwo.getString(rsmdTwo.getColumnName(j))+",");
}else if("DATE".equals(rsmdTwo.getColumnTypeName(j))){
System.out.print(rsmdTwo.getColumnName(j)+":"+rsTwo.getDate(rsmdTwo.getColumnName(j))+",");
}
}
System.out.println();
}
System.out.println("++++++++++++++++++++++++++++++++++++++");
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
if(rs != null){
rs.close();
}
if(rsTwo != null){
rsTwo.close();
}
if(st != null){
st.close();
}
if(conn != null && !conn.isClosed()){
conn.close();
}
System.out.println(" Connection is closed ?"+conn.isClosed());
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/**
* 获得数据库连接
* @Title: getConnection
* @Description: 获得数据库连接
* @param:
* @return Connection
* @user: wangzg
* @Date:2014-6-27
* @throws ClassNotFoundException, SQLException
*/
public static Connection getConnection() throws ClassNotFoundException, SQLException{
Connection conn = null;
//加载oracle驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//连接数据库
String url = "jdbc:oracle:thin:@127.0.0.1:1521:ORCL";
String user ="wzg";
String password = "wzg";
conn = DriverManager.getConnection(url, user, password);
// url = "jdbc:oracle:thin:@127.0.0.1:1521:ORCL?user=wzg&password=wzg";
// conn = DriverManager.getConnection(url);
//
// Properties info = new Properties();
// info.setProperty("user", "wzg");
// info.setProperty("password", "wzg");
// conn = DriverManager.getConnection(url, info);
return conn;
}
/**
*
* @Title: getConnection2
* @Description:
* @param:
* @return Connection
* @user: wangzg
* @Date:2014-6-27
* @throws
*/
public static Connection getConnection2() throws ClassNotFoundException, SQLException{
Connection conn = null;
//加载oracle驱动
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
//连接数据库
String url = "jdbc:oracle:thin:@127.0.0.1:1521:ORCL";
String user ="wzg";
String password = "wzg";
conn = DriverManager.getConnection(url, user, password);
return conn;
}
public static Connection getConnection3() throws SQLException{
Connection conn = null;
//加载oracle驱动
System.setProperty("jdbc.drivers","oracle.jdbc.driver.OracleDriver");
//连接数据库
String url = "jdbc:oracle:thin:@127.0.0.1:1521:ORCL";
String user ="wzg";
String password = "wzg";
conn = DriverManager.getConnection(url, user, password);
return conn;
}
}
jdbc之MetaData_获取数据库信息
最新推荐文章于 2024-07-19 20:18:03 发布