您的位置:首页 > 数据库

jdbc之MetaData_获取数据库信息

2014-07-09 16:06 459 查看
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;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐