JSP 数据库连接

在 JSP 中连接数据库

数据库用于存储各种类型的数据,这些数据非常庞大,存储容量达 GB。JSP 可以连接此类数据库来创建和管理记录。

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

创建表

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

在 JSP 数据库中创建表

在此,我们必须提供表名作为guru_test,并且我们将创建两个字段“emp_id 和 emp_name”。

Emp_idis 的数据类型为 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>

在名为 GuruTest 的数据库中创建表 guru_test,如下所示 MYSQL 提示符:

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 查询以检查表是否已创建。

创造记录

创建表后,我们需要使用插入查询向 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,我们可以对数据库执行多项操作。我们可以插入记录,也可以删除不需要的记录。如果需要编辑任何记录,则可以使用更新。选择操作将有助于获取所需的记录。

选择

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

例如::

在此示例中,我们将了解从上面一节中创建的 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>

代码说明:

代码行1: 这里我们导入了 io、uti 和 SQL Java 的库。

代码行3: 在这里我们导入 JSTL 的核心库并将其前缀定为 gurucore,这将有助于获取输出。

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

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

代码行19-21: 这里我们使用选择查询的 SQL 查询。

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

当您执行上述代码时,我们将得到如下输出;

输出:

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

1 名大师 emp1

2 名大师 emp2

插页

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

计费示例:

在此示例中,我们将学习如何在表 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>

代码说明:

代码行19-20: 这里我们将记录插入到 GuruTestdatabase 的表 guru_test 中。插入的记录是:empID – 3 和 empname – emp emp3。这些记录将插入表中。执行代码时,记录将作为 guru_test 插入到表中,值为 3,emp 为 emp3。

请注意: 这里我们没有显示输出,因为我们只是在表中插入记录。我们可以使用选择查询“select * from guru_test”来获取记录。如果记录被插入,我们将得到值为 3 和 emp3。如果记录没有插入,则表中的记录中不会显示 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>

代码说明:

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

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

输出:

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

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

更新

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

计费示例:

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

代码说明:

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

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

输出:

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

结语

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