下面是如何在JSP中使用JDBC连接MySQL的攻略:
1. 添加MySQL JDBC驱动
1.1 下载MySQL JDBC驱动:在MySQL官网下载mysql-connector-java
jar包。下载地址:https://dev.mysql.com/downloads/connector/j/。
1.2 将mysql-connector-java
jar包添加到WEB-INF/lib目录中:将下载好的MySQL JDBC jar包复制到Web项目的WEB-INF/lib
目录下。
1.3 配置JDBC连接参数:在JSP页面中添加如下代码,配置MySQL JDBC连接参数,并且注册JDBC驱动。
<%
// 配置MySQL JDBC连接参数
String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8";
String user = "root";
String password = "123456";
// 注册MySQL JDBC驱动
Class.forName("com.mysql.cj.jdbc.Driver");
%>
2. 使用JDBC连接MySQL
2.1 建立JDBC连接:使用DriverManager.getConnection()
方法,传入JDBC连接参数,建立JDBC连接。
<%
// 建立MySQL JDBC连接
Connection conn = DriverManager.getConnection(url, user, password);
%>
2.2 创建SQL语句:创建需要执行的SQL语句。
<%
// 创建SQL语句
String sql = "SELECT * FROM user";
%>
2.3 执行SQL语句:使用JDBC的Statement
或PreparedStatement
对象执行SQL语句,获取相应结果集。
2.3.1 使用Statement
对象执行SQL语句:
<%
// 执行SQL语句并获取结果集
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
%>
2.3.2 使用PreparedStatement
对象执行SQL语句:
<%
// 执行SQL语句并获取结果集
PreparedStatement pstmt = conn.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();
%>
2.4 处理查询结果:遍历结果集,处理查询结果。
<%
// 处理查询结果
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
String email = rs.getString("email");
// 输出查询结果
out.println("id: "+ id + ", name: " + name + ", email: " + email + "<br>");
}
%>
3. 关闭JDBC连接
使用完JDBC连接后,需要关闭连接,以释放资源。
3.1 关闭结果集、声明和连接:
<%
// 关闭结果集、声明和连接
rs.close();
stmt.close();
conn.close();
%>
至此,使用JDBC连接MySQL的过程就完成了。
下面是两个示例说明:
示例一:使用Statement
对象执行SQL语句
<%@ page contentType="text/html; charset=utf-8" %>
<%@ page language="java" %>
<!DOCTYPE html>
<html>
<head>
<title>使用JDBC连接MySQL示例1</title>
</head>
<body>
<h1>使用JDBC连接MySQL示例1:</h1>
<%
// 配置MySQL JDBC连接参数
String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8";
String user = "root";
String password = "123456";
// 注册MySQL JDBC驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 建立MySQL JDBC连接
Connection conn = DriverManager.getConnection(url, user, password);
// 创建SQL语句
String sql = "SELECT * FROM user";
// 执行SQL语句并获取结果集
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
// 处理查询结果
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
String email = rs.getString("email");
// 输出查询结果
out.println("id: "+ id + ", name: " + name + ", email: " + email + "<br>");
}
// 关闭结果集、声明和连接
rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
示例二:使用PreparedStatement
对象执行SQL语句
<%@ page contentType="text/html; charset=utf-8" %>
<%@ page language="java" %>
<!DOCTYPE html>
<html>
<head>
<title>使用JDBC连接MySQL示例2</title>
</head>
<body>
<h1>使用JDBC连接MySQL示例2:</h1>
<%
// 配置MySQL JDBC连接参数
String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8";
String user = "root";
String password = "123456";
// 注册MySQL JDBC驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 建立MySQL JDBC连接
Connection conn = DriverManager.getConnection(url, user, password);
// 创建SQL语句
String sql = "SELECT * FROM user WHERE name=?";
// 执行SQL语句并获取结果集
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "Tom");
ResultSet rs = pstmt.executeQuery();
// 处理查询结果
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
String email = rs.getString("email");
// 输出查询结果
out.println("id: "+ id + ", name: " + name + ", email: " + email + "<br>");
}
// 关闭结果集、声明和连接
rs.close();
pstmt.close();
conn.close();
%>
</body>
</html>
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何在Jsp中使用JDBC来联结MySql - Python技术站