Java获取数据库元信息

代码如下:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;


public class DBMetaDataTest {

	public static void main(String[] args) throws SQLException {

		try {			
			Class.forName("oracle.jdbc.driver.OracleDriver");		
			String url = "jdbc:oracle:thin:@host:9999:SERVICENAME";
			String uname = "test";
			String pssw = "test";
			Connection cn = DriverManager.getConnection(url,uname,pssw);
			PreparedStatement ps = cn.prepareStatement("select * from Test_Table where ROWNUM = ?");
			ps.setInt(1, 1);
			ResultSet rs = ps.executeQuery();
			
			ResultSetMetaData rsmd = rs.getMetaData();
			//获取当前表共有多少列
			int tableLength = rsmd.getColumnCount();
			System.out.println("The column number of table is: " + tableLength);
			for(int i=1 ;i<tableLength ;i++){
				//获取数据库类型
				String rolumnDbClass = rsmd.getColumnTypeName(i);
				System.out.println("数据库设置的列类型:"+rolumnDbClass);
				
				//获取数据库类型与java相对于的类型
				String rolumnClass = rsmd.getColumnClassName(i);
				System.out.println("java对应:"+rolumnClass);
				
				//获取列名
				String columnName = rsmd.getColumnName(i);
				System.out.println("获取列名:"+columnName);
			}
			rs.close();
			ps.close();
			cn.close();
		}
		catch (ClassNotFoundException e) {
				e.printStackTrace();
			}
		finally {
			
		}		

	}

}

猜你喜欢

转载自lijingshou.iteye.com/blog/2101451