JSP 数据库连接
在 JSP 中连接数据库
数据库用于存储各种类型的数据,这些数据非常庞大,存储容量达 GB。JSP 可以连接此类数据库来创建和管理记录。
在本教程中,我们将学习如何在数据库中创建表,以及如何通过 JSP 在这些表中创建记录。
创建表
In MYSQL数据库,我们可以使用任何 MYSQL 客户端在数据库中创建表。这里我们使用 PHPMyadminclient,我们有一个“new”选项,可以使用下面的屏幕截图创建一个新表。
在此,我们必须提供表名作为guru_test,并且我们将创建两个字段“emp_id 和 emp_name”。
Emp_idis 的数据类型为 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>
在名为 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 连接到数据库以及数据库访问。此外,我们还学习了对数据库中的表执行的各种操作,如创建、删除、更新等。