在使用jdbc查询数据库返回的ResultSet中,含有一个对象“ResultSetMetaData”,可以通过这个对象来获取表字段的所有信息,包括:字段名,字段类型,字段类型名称等等,非常的不错,这样我们在使用查询的时候就有了更大的自由发挥程度,我们在获取一张表里的值时,并不需要对数据库表有过多的了解,我们照样可以对它进行正常的操作。
举例如下:
package test.come.hyq.src;
import java.sql.*;
public class HyqTest {
public HyqTest() {
}
public static void main(String[] args){
String driver = "oracle.jdbc.driver.OracleDriver";
String strUrl = "jdbc:oracle:thin:@127.0.0.1:1521: HYQ";
Statement stmt = null;
ResultSet rs = null;
Connection conn = null;
PreparedStatement pstmt = null;
ResultSetMetaData rsmd = null;
try {
Class.forName(driver);
conn = DriverManager.getConnection(strUrl, "hyq", "hyq");
pstmt = conn.prepareStatement("SELECT * FROM H_TEST");
rs = pstmt.executeQuery();
rsmd = rs.getMetaData(); //获取字段名
if(rsmd != null){
int count = rsmd.getColumnCount();
for(int i=1;i<=count;i++){
System.out.println("hyqTest======"+rsmd.getColumnName(i));
}
}
}
catch (SQLException ex2) {
ex2.printStackTrace();
}
catch (Exception ex2) {
ex2.printStackTrace();
}
finally{
rsmd = null;
try {
if(rs != null){
rs.close();
if(stmt!=null){
stmt.close();
}
if(conn!=null){
conn.close();
}
}
}
catch (SQLException ex1) {
}
}
}