JDBC对数据查询操作

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Diligent_Programmer/article/details/78890213

例如:查询时想获取所以列的列名步骤


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();

}

最后测试结果:



猜你喜欢

转载自blog.csdn.net/Diligent_Programmer/article/details/78890213