Java连接数据库教程:从基础到Oracle实战
需积分: 16 138 浏览量
更新于2024-12-21
1
收藏 43KB DOC 举报
"这篇文章主要介绍了如何使用Java连接数据库,特别是JSP连接Oracle 8/8i/9i数据库的示例。"
在Java编程中,连接数据库是一项基本操作,尤其对于网页应用程序如JSP(JavaServer Pages)来说,与数据库交互是必不可少的。Java提供了Java Database Connectivity (JDBC) API,使得开发者能够方便地与各种类型的数据库进行通信。在本文中,我们将深入探讨Java如何连接Oracle数据库,并提供一个简单的JSP示例。
首先,为了连接数据库,我们需要确保已经安装了相应的JDBC驱动。对于Oracle数据库,我们需要的是Oracle JDBC驱动(通常称为ojdbc.jar)。这个驱动文件需要被放置在服务器的类路径中,以便服务器在运行时能够找到并加载它。
接下来,创建数据库表是连接前的准备工作。在这个例子中,我们创建了一个名为`test`的表,包含两个VARCHAR类型的字段:`test1`和`test2`。你可以使用以下SQL语句来创建这个表:
```sql
CREATE TABLE test (
test1 VARCHAR(20),
test2 VARCHAR(20)
);
```
然后,向这个表插入一条测试记录,以便于后续的查询操作。
现在,让我们看看如何在JSP页面中实现Oracle数据库的连接。以下是一个名为`testoracle.jsp`的示例:
```jsp
<%@page contentType="text/html;charset=gb2312"%>
<%@page import="java.sql.*"%>
<html>
<body>
<%
// 加载Oracle JDBC驱动
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
// 数据库连接参数
String url = "jdbc:oracle:thin:@localhost:1521:orcl"; // orcl是数据库的SID
String user = "scott";
String password = "tiger";
// 建立数据库连接
Connection conn = DriverManager.getConnection(url, user, password);
// 创建Statement对象用于执行SQL语句
Statement stmt = conn.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE
);
// 执行SQL查询
String sql = "SELECT * FROM test";
ResultSet rs = stmt.executeQuery(sql);
// 遍历查询结果并输出
while (rs.next()) {
%>
您的第一个字段内容为:<%=rs.getString(1)%><br/>
您的第二个字段内容为:<%=rs.getString(2)%><br/>
<%
}
%>
<% out.print("数据库操作成功,恭喜你"); %>
<%
// 关闭资源
rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
```
在这个JSP文件中,我们首先加载了Oracle JDBC驱动,然后通过`DriverManager.getConnection()`方法建立到数据库的连接。接着,创建一个`Statement`对象用于执行SQL语句,这里我们选择了`ResultSet.TYPE_SCROLL_SENSITIVE`和`ResultSet.CONCUR_UPDATABLE`两种属性,这意味着我们可以滚动结果集并且对结果进行更新。执行SQL查询后,我们遍历`ResultSet`,将查询到的数据输出到网页上。最后,别忘了关闭所有打开的资源,以避免资源泄露。
需要注意的是,将数据库凭证(用户名和密码)硬编码在代码中并不安全,实际开发中应避免这种情况,可以考虑使用配置文件或者环境变量来存储这些敏感信息。
此外,虽然这个示例展示了如何直接在JSP中进行数据库操作,但这种方法并不推荐,因为这将业务逻辑与视图混合在一起,违反了MVC(模型-视图-控制器)设计模式。在实际项目中,建议将数据库操作封装到JavaBean或Service层,保持代码的清晰性和可维护性。
2009-04-15 上传
2024-06-24 上传
2018-08-05 上传
luckhut
- 粉丝: 19
- 资源: 12