Java网页小报表,查询oracle数据库
时间: 2023-12-01 14:04:03 浏览: 43
好的,以下是一个使用Java连接Oracle数据库,通过JSP和Servlet实现的简单网页小报表的示例代码:
1. 首先,在Oracle数据库中创建一个示例表:
```sql
CREATE TABLE users (
id NUMBER(10) PRIMARY KEY,
name VARCHAR2(50),
age NUMBER(3)
);
INSERT INTO users VALUES (1, 'Tom', 20);
INSERT INTO users VALUES (2, 'Jerry', 22);
INSERT INTO users VALUES (3, 'Alice', 24);
```
2. 然后,创建一个Java类,用于执行SQL查询并返回结果:
```java
import java.sql.*;
public class DatabaseQuery {
public static Connection getConnection() throws Exception {
Class.forName("oracle.jdbc.driver.OracleDriver");
return DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORCL", "username", "password");
}
public static ResultSet getUsers() throws Exception {
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
try {
conn = getConnection();
stmt = conn.prepareStatement("SELECT id, name, age FROM users");
rs = stmt.executeQuery();
return rs;
} catch (SQLException se) {
se.printStackTrace();
return null;
}
}
}
```
上面的代码中,getConnection()方法用于获取数据库连接,getUsers()方法用于执行查询并返回结果集。
3. 接下来,创建一个Servlet,用于处理HTTP请求并生成HTML响应:
```java
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class ReportServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>用户报表</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>用户报表</h1>");
out.println("<table>");
out.println("<tr>");
out.println("<th>ID</th>");
out.println("<th>姓名</th>");
out.println("<th>年龄</th>");
out.println("</tr>");
try {
ResultSet rs = DatabaseQuery.getUsers();
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
out.println("<tr>");
out.println("<td>" + id + "</td>");
out.println("<td>" + name + "</td>");
out.println("<td>" + age + "</td>");
out.println("</tr>");
}
rs.close();
} catch (Exception e) {
e.printStackTrace();
}
out.println("</table>");
out.println("</body>");
out.println("</html>");
}
}
```
上面的代码中,doGet()方法生成一个简单的HTML表格,用于显示用户数据。它通过调用DatabaseQuery类的getUsers()方法获取结果集,并将每行数据生成为一个HTML表格行。
4. 最后,在JSP页面中将Servlet嵌入到HTML中:
```html
<html>
<head>
<title>用户报表</title>
</head>
<body>
<h1>用户报表</h1>
<iframe src="ReportServlet" width="100%" height="400"></iframe>
</body>
</html>
```
上面的代码中,<iframe>标签用于将ReportServlet嵌入到HTML中,以便在页面中显示报表。
注意:在实际开发中,你需要将用户名和密码替换为你自己的数据库用户名和密码,并根据需要修改查询语句和HTML代码。