JSP 数据库连接
⚡ 智能摘要
JSP数据库连接允许Web应用程序通过将JSP页面链接到关系数据库来存储和管理大量数据。本资源解释了如何创建JSP数据库连接。 MySQL 使用 JSTL sql 标签对表进行操作,插入记录,并执行选择、插入、更新和删除操作。
在 JSP 中连接数据库
该数据库用于存储各种类型的海量数据,存储容量以GB计。JSP可以连接到此类数据库来创建和管理记录。
在本教程中,我们将学习如何在数据库中创建表,以及如何通过 JSP 在这些表中创建记录。
创建表
In MYSQL数据库我们可以使用任何 MySQL 客户端在数据库中创建表。这里我们使用的是 PHPMyAdmin 客户端,它有一个“新建”选项,可以按照下面的屏幕截图创建新表。
在此,我们需要提供表名 guru_test,并且我们将创建两个字段,emp_id 和 emp_name。
- Emp_id 的数据类型为 int
- Emp_name 的数据类型为 varchar
另一种方法是使用命令提示符并切换到 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”。



