当前位置:首页 > JSP教程 > JSP高级教程

JSP 连接数据库

jsp 连接数据库

本章节假设您已经对jdbc有一定的了解。在开始学习jsp数据库访问前,请确保jdbc环境已经正确配置。

首先,让我们按照下面的步骤来创建一个简单的表并插入几条简单的记录:

创建表

在数据库中创建一个employees表,步骤如下:

步骤1: 打开cmd,然后进入数据库安装目录:
c:>
c:>cd program filesmysqlbin
c:program filesmysqlbin>
步骤2:
c:program filesmysqlbin>mysql -u root -p
enter password: ********
mysql>
步骤3:

用create database语句建立一个新的数据库test:

mysql> create database test
步骤4:

在test数据库中创建employee表:

mysql> use test;
mysql> create table employees
    (
     id int not null,
     age int not null,
     first varchar (255),
     last varchar (255)
    );
query ok, 0 rows affected (0.08 sec)
mysql>

插入数据记录

创建好employee表后,往表中插入几条记录:

mysql> insert into employees values (100, 18, 'zara', 'ali');
query ok, 1 row affected (0.05 sec)
 
mysql> insert into employees values (101, 25, 'mahnaz', 'fatma');
query ok, 1 row affected (0.00 sec)
 
mysql> insert into employees values (102, 30, 'zaid', 'khan');
query ok, 1 row affected (0.00 sec)
 
mysql> insert into employees values (103, 28, 'sumit', 'mittal');
query ok, 1 row affected (0.00 sec)
 
mysql>

select操作

接下来的这个例子告诉我们如何使用jstl sql标签来运行sql select语句:

<%@ page language="java" contenttype="text/html; charset=utf-8"     pageencoding="utf-8"%><%@ 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"%>
 <html> <head> <title>select 操作</title> </head> <body>  <sql:setdatasource var="snapshot" driver="com.mysql.jdbc.driver"      url="jdbc:mysql://localhost/test"      user="root"  password="pass123"/>  <sql:query datasource="${snapshot}" var="result"> select * from employees;</sql:query>  <table border="1" width="100%"> <tr>    <th>emp id</th>    <th>first name</th>    <th>last name</th>    <th>age</th> </tr> <c:foreach var="row" items="${result.rows}"> <tr>    <td><c:out value="${row.id}"/></td>    <td><c:out value="${row.first}"/></td>    <td><c:out value="${row.last}"/></td>    <td><c:out value="${row.age}"/></td> </tr> </c:foreach> </table>  </body> </html>

访问这个jsp例子,运行结果如下:

insert操作

这个例子告诉我们如何使用jstl sql标签来运行sql insert语句:

<%@ page language="java" contenttype="text/html; charset=utf-8"     pageencoding="utf-8"%><%@ 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"%>
 <html> <head> <title>insert 操作</title> </head> <body>  <sql:setdatasource var="snapshot" driver="com.mysql.jdbc.driver"      url="jdbc:mysql://localhost/test"      user="root"  password="pass123"/> <sql:update datasource="${snapshot}" var="result"> insert into employees values (104, 2, 'nuha', 'ali');</sql:update>  <sql:query datasource="${snapshot}" var="result"> select * from employees;</sql:query>  <table border="1" width="100%"> <tr>    <th>emp id</th>    <th>first name</th>    <th>last name</th>    <th>age</th> </tr> <c:foreach var="row" items="${result.rows}"> <tr>    <td><c:out value="${row.id}"/></td>    <td><c:out value="${row.first}"/></td>    <td><c:out value="${row.last}"/></td>    <td><c:out value="${row.age}"/></td> </tr> </c:foreach> </table>  </body> </html>

访问这个jsp例子,运行结果如下:

delete操作

这个例子告诉我们如何使用jstl sql标签来运行sql delete语句:

<%@ page language="java" contenttype="text/html; charset=utf-8"     pageencoding="utf-8"%><%@ 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"%>
 <html> <head> <title>delete 操作</title> </head> <body>  <sql:setdatasource var="snapshot" driver="com.mysql.jdbc.driver"      url="jdbc:mysql://localhost/test"      user="root"  password="pass123"/>  <c:set var="empid" value="103"/>  <sql:update datasource="${snapshot}" var="count">   delete from employees where id = ?
  <sql:param value="${empid}" /> </sql:update>  <sql:query datasource="${snapshot}" var="result">    select * from employees;</sql:query>  <table border="1" width="100%"> <tr>    <th>emp id</th>    <th>first name</th>    <th>last name</th>    <th>age</th> </tr> <c:foreach var="row" items="${result.rows}"> <tr>    <td><c:out value="${row.id}"/></td>    <td><c:out value="${row.first}"/></td>    <td><c:out value="${row.last}"/></td>    <td><c:out value="${row.age}"/></td> </tr> </c:foreach> </table>  </body> </html>

访问这个jsp例子,运行结果如下:

update操作

这个例子告诉我们如何使用jstl sql标签来运行sql update语句:

<%@ page language="java" contenttype="text/html; charset=utf-8"     pageencoding="utf-8"%><%@ 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"%>
 <html> <head> <title>update 操作</title> </head> <body>  <sql:setdatasource var="snapshot" driver="com.mysql.jdbc.driver"      url="jdbc:mysql://localhost/test"      user="root"  password="pass123"/>  <c:set var="empid" value="102"/>  <sql:update datasource="${snapshot}" var="count">   update employees set last = 'ali' where id = ?
  <sql:param value="${empid}" /> </sql:update>  <sql:query datasource="${snapshot}" var="result">    select * from employees;</sql:query>  <table border="1" width="100%"> <tr>    <th>emp id</th>    <th>first name</th>    <th>last name</th>    <th>age</th> </tr> <c:foreach var="row" items="${result.rows}"> <tr>    <td><c:out value="${row.id}"/></td>    <td><c:out value="${row.first}"/></td>    <td><c:out value="${row.last}"/></td>    <td><c:out value="${row.age}"/></td> </tr> </c:foreach> </table>  </body> </html>

访问这个jsp例子,运行结果如下:


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!