例如:查询时想获取所以列的列名步骤
Connection con=null;
PreparedStatement pstmt=null;
ResultSet rs=null;
1.导包(同我上一篇博客点击打开链接)
2.加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
3.建立连接
con=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","scott","tiger");
4.创建预编译语句块
String sql="select *from dept where deptno=?";
pstmt=con.prepareStatement(sql);
5.给预编译语句块中占位符赋值
System.out.println("请输入要检索的值:");
Scanner sc=new Scanner(System.in);
String no=sc.nextLine();
pstmt.setString(1,no);
6.执行预编译语句块获取结果或结果集
rs=pstmt.executeQuery();//这里不用参数
获取结果集中所有列的列名===》获取结果集中列的数量==》ResultSetMetaData结果级元数据
ResultSetMetaData rsmd=rs.getMetaData();//获取结果集rs元数据
int colCount=rsmd.getColumnCount();//获取列数
String[] colNames=new String[colCount];
for(int i=0;i<colCount;i++){
colNames[i]=rsdm.getColumnName(i+1);//通过列索引取出列名
}
7.处理结果或结果集
while(rs.next()){
for(String colName:colNames){
System.out.print(colName+":"+rs.getString(colName)+"\t");
}
System.out.println();
}
8.关闭连接
if(rs!=null){
rs.close();
}
if(pstmt!=null){
pstmt.close();
}
if(con!=null){
con.close();
}
最后测试结果: