java获取oracle查询后的结果

java获取oracle查询后的结果
最新回答
呸狗屁的爱情っ

2026-10-18 09:15:34

在Java中获取Oracle数据库查询后的结果,并按照提供的思路进行操作,可以按照以下步骤进行:

  1. 获取表的字段个数:

    • 使用SELECT COUNT FROM all_tab_columns WHERE table_name = 'TABLE_NAME'语句来获取指定表的字段个数。
    • 示例代码:javaint colCount = 0;String tableName = "your_table_name"; // 替换为你的表名String queryColCount = "SELECT COUNT FROM all_tab_columns WHERE table_name = '" + tableName.toUpperCase + "'";try ; Statement stmt = conn.createStatement; ResultSet rs = stmt.executeQuery) { if ) { colCount = rs.getInt; }} catch { e.printStackTrace;}2. 循环获取各个字段的值: 使用ResultSet对象来迭代查询结果集。 示例代码:javaList<String[]> dataList = new ArrayList<>; // 用于存储所有数据String queryData = "SELECT * FROM " + tableName;try ; Statement stmt = conn.createStatement; ResultSet rs = stmt.executeQuery) { while ) { String[] dataLine = new String[colCount]; // 用于存储一行数据 for { dataLine[i] = rs.getString; // Oracle的ResultSet是从1开始索引的 } dataList.add; }} catch { e.printStackTrace;}
  2. 在JSP页面中展示dataList:

    • 将dataList传递到JSP页面,并通过迭代来展示数据。
    • 示例代码:jsp<%@ page import="java.util.List" %><%@ page import="java.util.Arrays" %><% List<String[]> dataList = request.getAttribute;%><table border="1"> <tr> <% // 假设第一行数据包含表头,可以根据实际情况调整 if ) { String[] firstRow = dataList.get; for { %> <th><%= columnName %></th> <% } } %> </tr> <% for ; i++) { String[] rowData = dataList.get; %> <tr> <% for { %> <td><%= cellData %></td> <% } %> </tr> <% } %></table> 在Servlet中传递dataList:javarequest.setAttribute;RequestDispatcher dispatcher = request.getRequestDispatcher;dispatcher.forward;

总结: 首先,通过查询all_tab_columns表获取表的字段个数。 然后,使用SELECT * FROM table_name查询表的数据,并通过循环将每行的数据存储在ArrayList中。 最后,在JSP页面中通过迭代ArrayList来展示数据。