JSP 数据库连接

⚡ 智能摘要

JSP数据库连接允许Web应用程序通过将JSP页面链接到关系数据库来存储和管理大量数据。本资源解释了如何创建JSP数据库连接。 MySQL 使用 JSTL sql 标签对表进行操作,插入记录,并执行选择、插入、更新和删除操作。

  • 🗄️ 目的: 数据库存储着数GB的数据,JSP可以创建、读取和管理这些数据。
  • 🧱 创建表: 使用以下方法构建包含 emp_id 和 emp_name 的 guru_test 表: MySQL 客户或提示。
  • ???? 连接: sql:setDataSource 标签提供 JDBC 驱动程序, URL用户名和密码。
  • 🔁 欺诈 Opera位置: 选择、插入、更新和删除操作均通过 JSTL SQL 标签执行。
  • ???? 参数: 使用 sql:param 和主键(例如 emp_id)来定位特定记录。

JSP 数据库连接

在 JSP 中连接数据库

该数据库用于存储各种类型的海量数据,存储容量以GB计。JSP可以连接到此类数据库来创建和管理记录。

在本教程中,我们将学习如何在数据库中创建表,以及如何通过 JSP 在这些表中创建记录。

创建表

In MYSQL数据库我们可以使用任何 MySQL 客户端在数据库中创建表。这里我们使用的是 PHPMyAdmin 客户端,它有一个“新建”选项,可以按照下面的屏幕截图创建新表。

在 JSP 数据库中创建表

在此,我们需要提供表名 guru_test,并且我们将创建两个字段,emp_id 和 emp_name。

  • Emp_id 的数据类型为 int
  • Emp_name 的数据类型为 varchar

在 JSP 数据库中创建表

另一种方法是使用命令提示符并切换到 MYSQL 目录:

C:\>
C:\>cd Program Files\MY SQL\bin
C:\>Program Files\MySql\bin>

我们可以按如下方式登录数据库:

C:\Program Files\MYSQL\bin>mysql –u gururoot –p
Enter Password: *******
Mysql>

在名为 guru_test 的数据库中创建表 Guru在 MySQL 提示符下按如下方式进行测试:

Mysql> use GuruTest;
MySql> create table guru_test(
Emp_id int NOT NULL,
Emp_name varchar(11),
           );
Once you execute this you get the following:
Query OK, 0 rows affected(0.10 sec)
MySQl> select * from guru_test;
Query OK, 0 rows affected(0.10 sec)

首先,使用以下方式插入记录: INSERT 查询,然后我们就可以使用 SELECT 查询以检查表是否已创建。

创造记录

创建表之后,我们需要使用如下所示的插入查询向 guru_test 表中创建记录:

此处输入的记录为:

  • 1 和 guru emp1
  • 2 和 guru emp2
MySql>INSERT INTO `couch_tomato_db`.`guru_test` (`emp_id`, `emp_name`) VALUES ('1', 'guru emp1');
Query OK, 1 row affected (0.05 sec)

MySQL>INSERT INTO `couch_tomato_db`.`guru_test` (`emp_id`, `emp_name`) VALUES ('2', 'guru emp2');
Query OK, 1 row affected (0.05 sec)

JSP Opera操作:插入、更新、删除、选择

使用 JSP,我们可以对数据库执行多种操作。我们可以插入记录,也可以删除不需要的记录。如果需要编辑记录,可以使用更新语句。SELECT 语句可以帮助我们获取所需的记录。

选择

选择操作用于从表中选择记录。

计费示例:

在这个例子中,我们将学习如何使用 select 操作从上面创建的 guru_test 表中获取记录。

<%@ page import="java.io.*,java.util.*,java.sql.*"%>
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Database JSP1</title>
</head>
<body>

 <sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost/GuruTest"
     user="gururoot"  password="guru"/>

<sql:query dataSource="${snapshot}" var="result">
SELECT * from guru_test;
</sql:query>

<table>
<tr>
   <th>Guru ID</th>
   <th>Name</th>

</tr>
<c:forEach var="row" items="${result.rows}">
<tr>
   <td><c:out value="${row.emp_id}"/></td>
   <td><c:out value="${row.emp_name}"/></td>

</tr>
</c:forEach>
</table>

</body>
</html>

代码说明:

Code 线1: 这里我们导入了 io、util 和 SQL Java 的库。

Code 线3: 这里我们导入了 JSTL 的核心库,并将其前缀设为 c,这将有助于获得输出。

Code 线4: 这里我们导入了 JSTL 的 SQL 库,并将其前缀设为 sql,这将有助于执行 SQL 操作。

Code 第 15-17 行: 这里我们使用 SQL 连接数据源,将变量命名为“snapshot”,并将驱动程序设置为 JDBC 驱动程序。同时,我们还添加了用户名和密码,分别为“gururoot”和“guru”。

Code 第 19-21 行: 这里我们使用 SELECT 查询的 SQL 查询语句。

Code 第 31-32 行: 我们正在打印员工 ID 和员工姓名的输出,这些信息是从查询结果中获取的,我们使用 foreach 循环来打印输出。

执行上述代码后,我们将得到如下输出:

输出:

这里将从数据库中获取这两条记录:

  • 1 名大师 emp1
  • 2 名大师 emp2

插页

Insert 运算符用于将记录插入到数据库中。 数据库.

计费示例:

在这个例子中,我们将学习如何在 guru_test 表中插入记录。

<%@ page import="java.io.*,java.util.*,java.sql.*"%>
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="gurucore"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="gurusql"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Database JSP1</title>
</head>
<body>

 <gurusql:setDataSource var="guru" driver="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost/GuruTest"
     user="gururoot"  password="guru"/>

     <gurusql:update dataSource="${guru}" var="guruvar">
INSERT INTO guru_test VALUES (3, 'emp emp3');
</gurusql:update>



</body>
</html>

代码说明:

Code 第 19-20 行: 这里我们正在向 guru_test 表中插入记录。 Guru测试数据库。插入的记录为:empID – 3 和 empname – emp emp3这些记录将被插入到表中。执行代码后,记录将被插入到表 guru_test 中,值为 3,emp 为 emp3.

注意: 这里我们没有展示输出结果,因为我们只是在表中插入记录。我们可以使用 SELECT 查询语句 `select * from guru_test` 获取记录。如果记录已插入,我们将得到值为 3 和 e。mp3如果不插入记录,则表中将不会出现数字 3。

删除

这是删除操作,我们将从表 guru_test 中删除记录。

计费示例:

这里我们将使用删除查询从表 guru_test 中删除记录。需要删除的记录必须赋值给变量“guruid”,然后相应的记录将从数据库中删除。

<%@ page import="java.io.*,java.util.*,java.sql.*"%>
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="gurucore"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="gurusql"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Database JSP1</title>
</head>
<body>

 <gurusql:setDataSource var="guru" driver="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost/GuruTest"
     user="gururoot"  password="guru"/>
     <gurucore:set var="guruid" value="3"/>
     <gurusql:update dataSource="${guru}" var="guruvar">
DELETE FROM guru_test WHERE emp_id = ?
  <gurusql:param value="${guruid}" />
</gurusql:update>



</body>
</html>

代码说明:

Code 线18: 我们正在设置一个变量 guruid,其值为 3,必须将其从数据库中删除。这始终是表的主键。在本例中,主键是 emp_id。

Code 第 19-22 行: 这里我们使用了一个删除查询,该查询在 WHERE 子句中设置了一个参数。这里的参数是 guruid,它在第 18 行代码中设置。相应的记录被删除。

输出:

执行上述代码时,emp_id 为 3 的记录被删除。

注意: 在这个例子中,由于我们正在从表中删除记录,因此无法显示输出结果。要检查记录是否已删除,我们需要使用 SELECT 查询“select * from guru_test”。在这种情况下,如果 emp id 为 3,则表示删除查询失败;否则,表示记录已成功删除。

更新

更新用于编辑表中的记录。

计费示例:

<%@ page import="java.io.*,java.util.*,java.sql.*"%>
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="gurucore"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="gurusql"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Database JSP1</title>
</head>
<body>

<gurusql:setDataSource var="guru" driver="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost/GuruTest"
     user="gururoot"  password="guru"/>
     <gurucore:set var="guruid" value="2"/>
     <gurusql:update dataSource="${guru}" var="guruvar">
UPDATE guru_test SET emp_name='emp guru99'
  <gurusql:param value="${guruid}" />
</gurusql:update>



</body>
</html>

代码说明:

Code 线18: 这里我们将变量 guruid 设置为 2。这是我们想要更新记录的 ID。

Code 第 19-22 行: 这里我们使用更新查询来更新表 guru_test 中记录的记录,该记录在第 18 点中设置。这里 emp guru2 被 emp guru99 替换。

输出:

执行上述代码后,emp_id 为 2 的记录将更改为 99。因此,现在输出将显示 emp “guru99” 而不是 emp “guru2”。

常见问题

是的。AI助手可以生成JSTL SQL标签或JDBC代码,用于将JSP连接到…… MySQL构建查询并映射结果行。您仍然应该验证驱动程序。 URL运行前需要输入凭据。

是的。人工智能工具可以标记字符串拼接查询,并建议使用参数化查询或预处理语句。这可以降低 SQL 注入风险,但我们仍然建议对所有数据库输入进行人工安全审查。

JDBC(Java 数据库连接)是允许的 API。 Java JSP应用程序连接到数据库。它加载诸如com.mysql.jdbc.Driver之类的驱动程序,并通过该连接执行SQL语句。

不。JSTL SQL 标签适用于学习和原型开发。对于生产环境,数据库逻辑应该放在 Servlet、DAO 或框架中。ping JSP侧重于表现形式,而不是直接查询。

总结一下这篇文章: