### 在JSP中连接各种数据库 #### 概述 在Java Server Pages (JSP) 中连接数据库是一项常见的操作,主要用于动态地从数据库中获取数据并显示在网页上。本文将详细介绍如何在JSP中实现与MySQL、Oracle、SQL Server 和 DB2 数据库的连接,并通过具体的示例代码来说明每种数据库的连接方式。 #### MySQL 数据库连接 MySQL 是一款非常流行的开源关系型数据库管理系统。要在JSP中连接MySQL,首先需要下载并配置MySQL JDBC驱动(通常称为Connector/J)。下面是一个简单的示例: ```java <%@ page contentType="text/html;charset=UTF-8" %> <%@ page import="java.sql.*" %> <html> <head> <title>连接MySQL示例</title> </head> <body> <% try { Class.forName("com.mysql.cj.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/databasename"; String user = "username"; String password = "password"; Connection conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); String sql = "SELECT * FROM tablename"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { out.println("第一列为: " + rs.getString(1)); out.println("第二列为: " + rs.getString(2)); } out.println("连接成功"); rs.close(); stmt.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); } %> </body> </html> ``` #### Oracle 数据库连接 Oracle 是一款广泛应用于企业级应用的关系型数据库系统。连接Oracle数据库时,需要使用Oracle提供的JDBC驱动。示例如下: ```java <%@ page contentType="text/html;charset=gb2312" %> <%@ page import="java.sql.*" %> <html> <body> <% try { Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); String url = "jdbc:oracle:thin:@localhost:1521:orcl"; String user = "scott"; String password = "tiger"; Connection conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); String sql = "SELECT * FROM test"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { out.println("第一列为: " + rs.getString(1)); out.println("第二列为: " + rs.getString(2)); } out.println("连接成功"); rs.close(); stmt.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); } %> </body> </html> ``` #### SQL Server 数据库连接 SQL Server 是微软开发的一款强大的关系型数据库管理系统,广泛应用于各种企业级应用中。连接SQL Server数据库时,可以使用Microsoft提供的JDBC驱动。示例如下: ```java <%@ page contentType="text/html;charset=gb2312" %> <%@ page import="java.sql.*" %> <html> <body> <% try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); String url = "jdbc:sqlserver://localhost:1433;databaseName=pubs"; String user = "sa"; String password = ""; Connection conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); String sql = "SELECT * FROM test"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { out.println("第一列为: " + rs.getString(1)); out.println("第二列为: " + rs.getString(2)); } out.println("连接成功"); rs.close(); stmt.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); } %> </body> </html> ``` #### DB2 数据库连接 DB2 是IBM开发的一款高性能关系型数据库管理系统。连接DB2数据库时,需要使用IBM提供的JDBC驱动。示例如下: ```java <%@ page contentType="text/html;charset=gb2312" %> <%@ page import="java.sql.*" %> <html> <body> <% try { Class.forName("com.ibm.db2.jdbc.app.DB2Driver").newInstance(); String url = "jdbc:db2://localhost:5000/sample"; String user = "admin"; String password = ""; Connection conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); String sql = "SELECT * FROM test"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { out.println("第一列为: " + rs.getString(1)); out.println("第二列为: " + rs.getString(2)); } out.println("连接成功"); rs.close(); stmt.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); } %> </body> </html> ``` #### 小结 以上是关于如何在JSP中连接MySQL、Oracle、SQL Server 和 DB2 数据库的详细示例。需要注意的是,在实际部署环境中,为了提高性能和安全性,通常会将JDBC驱动文件放置在JSP应用的`WEB-INF/lib`目录下,并且使用`Class.forName()`方法加载驱动时,建议使用`Class.forName("driverClassName")`而不是`Class.forName("driverClassName").newInstance()`的方式。此外,为了代码的健壮性和可维护性,推荐使用try-with-resources语句自动关闭资源,或者在finally块中确保资源被正确关闭。
testoracle.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%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 stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你\");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
二、jsp连接Sql Server7.0/2000数据库
testsqlserver.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<html>
<body>
<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
//pubs为你的数据库的
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你\");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
三、jsp连接DB2数据库
testdb2.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
剩余6页未读,继续阅读
- 粉丝: 0
- 资源: 10
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 西电微机原理实验-西安电子科技大学微机原理课程实验概述与指导
- 智慧校园(校园AI 产品) 校园安全 智慧校园 教育数字化 AI校园
- 西电微机原理实验四:8255可编程并行接口的应用
- 基于 Go+Echo 开发的多房间实时通讯系统。详细文档+优秀项目+全部资料.zip
- 基于 Go + Vue 的现代化博客系统详细文档+优秀项目+全部资料.zip
- 基于 go + grpc + consul 的微服务系统详细文档+优秀项目+全部资料.zip
- 基于 golang goframe + vue3 的、前后端分离的后台管理系统快捷使用模板,支持按钮级别的 RBAC。详细文档+优秀项目+全部资料.zip
- 基于 goframe2 和vue3 开发的全栈前后端分离的后台管理系统,详细文档+优秀项目+全部资料.zip
- 基于 Golang 的 容器管理系统 API详细文档+优秀项目+全部资料.zip
- 基于 React 实现的电商后台管理系统的前端项目详细文档+优秀项目+全部资料.zip
- 基于 Golang开发的微服务网关,能够实现高性能 HTTP API 转发、服务编排、多租户管理、API 访问权限控制等目的,拥有强大的自定义插件系统可以自行扩展详细文档+优秀项目+全部资料.zip
- 基于 Vue + Go 实现客户关系管理系统,,主要功能有仪表盘、客户管理、合同管理、产品管理、配置、订阅等功能详细文档+优秀项目+全部资料.zip
- 基于beego v2.0.1框架和AdminLte前端框架,开发的go语言通用后台系统,详细文档+优秀项目+全部资料.zip
- 基于 SpringBoot + Spring + SpringMvc + Mybatis + Shiro+ Redis 开发单点登录管理系统详细文档+优秀项目+全部资料.zip
- 基于beego的简易blog系统详细文档+优秀项目+全部资料.zip
- 基于Beego开发的可切换模板的 BBS 社交博客系统、它安装简单便捷,页面简介优美。前端是HTML+JS+CSS,不需要掌握一些前端技术栈也能轻松自定义页面。详细文档+优秀项目+全部资料.zip