Java连接数据库教程:从基础到Oracle实战

需积分: 16 10 下载量 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层,保持代码的清晰性和可维护性。