JSP 数据库连接

JSP 连接到数据库

数据库用于存储各种类型的数据,这些数据量巨大,存储容量以 GB 为单位。JSP 可以连接到此类数据库来创建和管理记录。

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

创建表

MYSQL 数据库中,我们可以使用任何 MYSQL 客户端在数据库中创建表。这里我们使用的是 PHPMyAdmin 客户端,并且有一个“新建”选项,可以使用下图创建一个新表。

Create Table in JSP Database

在这里,我们需要将表名提供为 guru_test,我们将创建两个字段:emp_id 和 emp_name。

Emp_id 的数据类型为 int

Emp_name 的数据类型为 varchar

Create Table in JSP Database

另一种方法是使用命令提示符并更改为 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>

在 MYSQL 提示符下,使用以下命令在名为 GuruTest 的数据库中创建表 guru_test

Mysql> use GuruTest;
MySql> create table guru_test(
Emp_idint NOT NULL,
Emp_namevarchar(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` 查询检查表是否已创建。

创建记录

创建表后,我们需要使用 insert 查询在 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 操作:插入、更新、删除、选择

使用 JSP,我们可以对数据库执行多种操作。我们可以插入记录,也可以删除不需要的记录。如果需要编辑任何记录,则可以使用更新。Select 操作将有助于获取所需的记录。

Select

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:///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>

代码解释

代码行 1:我们在此导入了 java 的 io、uti 和 SQL 库。

代码行 3:我们在此导入了 JSTL 的 core 库,并将其前缀设置为 gurucore,这将有助于获取输出。

代码行 4:我们在此导入了 jstl 的 SQL 库,并将其前缀设置为 gurusql,这将有助于执行 SQL 操作。

代码行 15-17:在此,我们使用 gurusql 连接数据源,将变量命名为“guru”,驱动程序命名为 JDBC 驱动程序。还添加了用户名和密码“gururoot”和“guru”。

代码行 19-21:在此,我们使用了 select 查询的 SQL 查询。

代码行 31-32:我们正在打印 emp id 和 emp name 的输出,这些是从查询结果中获取的,并使用 foreach 循环打印输出。

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

输出

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

1 guru emp1

2 guru 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:///GuruTest"
     user="gururoot"  password="guru"/>
     
     <gurusql:update dataSource="${guru}" var="guruvar">
INSERT INTO guru_test VALUES (3, 'emp emp3');
</gurusql:update>
 

 
</body>
</html>

代码解释

代码行 19-20:我们在此向 GuruTest 数据库的 guru_test 表中插入记录。插入的记录是:empID – 3 和 empname – emp emp3。当您执行代码时,这些记录将被插入到表中,记录为 guru_test,值为 3 和 emp emp3。

注意:我们在此不显示输出,因为我们只是在表中插入记录。我们可以使用 select 查询“select * from guru_test”来获取记录。如果记录已插入,我们将获得值为 3 和 emp3。如果记录未插入,则表中将看不到 3。

删除

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

示例

在这里,我们将使用 delete 查询从 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:///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>

代码解释

代码行 18:我们将 guruid 变量设置为 3,该变量将从数据库中删除。这始终是表的主键。在这种情况下,主键是 emp_id。

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

输出

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

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

更新

update 用于编辑表中的记录。

示例

<%@ 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:///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>
	

代码解释

代码行 18:在这里,我们将 guruid 变量设置为 2。这是我们要更新记录的 ID。

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

输出

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

摘要

在本教程中,我们学习了如何将 JSP 连接到数据库以及数据库访问。此外,我们还学习了如何在数据库的表中执行各种操作,例如创建、删除、更新等。