jsp访问数据库(完整总结)
1:数据表
-+-----+------+----------+-------------+----------------+------------+------------------+--------+
| sex | age | domitory | phone | address | xueyuan | zhuanye | banji |
-+-----+------+----------+-------------+----------------+------------+------------------+--------+
| 男 | 20 | #301 | 13246579831 | 陕西省宝鸡市 | 计算机学院 | 软件工程 | 1501班 |
| 男 | 21 | #302 | 1456789321 | 陕西省西安市 | 计算机学院 | 计算机科学与技术 | 1502班 |
| 女 | 20 | #311 | 13467843147 | 陕西省咸阳市 | 计算机学院 | 软件工程 | 1502班 |
| 女 | 21 | #312 | 15789237635 | 陕西省延安市 | 计算机学院 | 网络工程 | 1501班 |
| 男 | 21 | #303 | 13867345807 | 陕西省汉中市 | 计算机学院 | 软件工程 | 1503班 |
| 女 | 20 | #313 | 14567823459 | 陕西省铜川市 | 计算机学院 | 计算机科学与技术 | 1503班 |
| 男 | 22 | #304 | 1356789024 | 陕西省渭南市 | 计算机学院 | 网络工程 | 1502班 |
| 女 | 19 | #305 | 1789567124 | 陕西省榆林市 | 计算机学院 | 软件工程 | 1504班 |
| 男 | 21 | #311 | 157982465 | 陕西省安康市 | 计算机学院 | 计算机科学与技术 | 1505班 |
| 女 | 20 | #307 | 1367890245 | 陕西省商洛市 | 计算机学院 | 软件工程 | 1503班 |
| 男 | 21 | #332 | 1267893482 | 陕西省西安市 | 计算机学院 | 网络工程 | 1504班 |
| 男 | 20 | #313 | 135678032 | 陕西省咸阳市 | 计算机学院 | 计算机科学与技术 | 1505班 |
2:查询所有记录
<%@ page contentType="text/html;charset=UTF-8" language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>
<!DOCTYPE HTML >
<html>
<head>
<title>显示所有记录</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="在线购物,购物车,商品一览">
<meta http-equiv="description" content="jsp开发购物车">
</head>
<body>
<%
Class.forName("com.mysql.jdbc.Driver");
Connection conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydatabase","root","123456");
String sql="select * from stuInfo";
PreparedStatement pstmt=conn.prepareStatement(sql);
ResultSet rs=pstmt.executeQuery();
%>
<h2>查询所有学生信息</h2><hr/>
<table border="1" width="600">
<tr>
<tr bgcolor="#dddddd">
<td align="center">学号</td>
<td align="center">姓名</td>
<td align="center">性别</td>
<td align="center">年龄</td>
<td align="center">宿舍</td>
<td align="center">联系方式</td>
<td align="center">家庭住址</td>
<td align="center">所属学院</td>
<td align="center">专业</td>
<td align="center">班级</td>
</tr>
<%
int id,age;
String name,sex,domitory,phone,address,xueyuan,zhuanye,banji;
while(rs.next()){
id=rs.getInt(1);
name=rs.getString(2);
sex=rs.getString(3);
age=rs.getInt(4);
domitory=rs.getString(5);
phone=rs.getString(6);
address=rs.getString(7);
xueyuan=rs.getString(8);
zhuanye=rs.getString(9);
banji=rs.getString(10);
%>
<tr>
<td><%=id%></td>
<td><%=name%></td>
<td><%=sex%></td>
<td><%=age%></td>
<td><%=domitory%></td>
<td><%=phone%></td>
<td><%=address%></td>
<td><%=xueyuan%></td>
<td><%=zhuanye%></td>
<td><%=banji%></td>
</tr>
<%
}
%>
</table><br/>
</body>
</html>
3:登录页面(为了添加记录)
<!DOCTYPE html>
<html>
<head>
<title>表单提交</title>
<meta name="keywords" content="keyword1,keyword2,keyword3">
<meta name="description" content="this is my page">
<meta name="content-type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<form action="add.jsp">
<table class="tableBorder" align="center" border="1">
<tr>
<td>学号:</td>
<td><input type="text" name="id"/></td>
</tr>
<tr>
<td>密码</td>
<td><input type="password" name="pwd"/></td>
</tr>
<tr>
<td>确认密码:</td>
<td><input type="password" name="pwdl"/></td>
</tr>
<tr>
<td>姓名:</td>
<td><input type="text" name="name"/></td>
</tr>
<tr>
<td>性别:</td>
<td> <input type="radio" name="sex" value="男"/>男
<input type="radio" name="sex" value="女"/>女
</td>
</tr>
<tr>
<td>年龄:</td>
<td><input type="text" name="age"/></td>
</tr>
<tr>
<tr>
<td>宿舍:</td>
<td><input type="text" name="domitory"/></td>
</tr>
<tr>
<td>联系方式:</td>
<td><input type="text" name="phone"/></td>
</tr>
<tr>
<td>家庭地址:</td>
<td><input type="text" name="address"/></td>
</tr>
<tr>
<td>学院:</td>
<td><input type="text" name="xueyuan"/></td>
</tr>
<tr>
<td>专业:</td>
<td><input type="text" name="zhuanye"/></td>
</tr>
<tr>
<td>班级:</td>
<td><input type="text" name="banji"/></td>
</tr>
<tr>
<td colspan="2" align="center">
<input class="button1" type="submit" value="注册">
<input class="button1" type="reset" value="取消"></td>
</tr>
</table>
</form>
</body>
</html>
4:添加记录
<%@ page contentType="text/html;charset=UTF-8" language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>
<!DOCTYPE HTML >
<html>
<head>
<title>添加记录</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="在线购物,购物车,商品一览">
<meta http-equiv="description" content="jsp开发购物车">
</head>
<body>
<h2>添加学生记录</h2><hr/>
<table border="1" width="600">
<%
request.setCharacterEncoding("UTF-8");
int id=Integer.parseInt(request.getParameter("id"));
String name=request.getParameter("name");
String sex=request.getParameter("sex");
int age=Integer.parseInt(request.getParameter("age"));
String domitory=request.getParameter("domitory");
String phone=request.getParameter("phone");
String address=request.getParameter("address");
String xueyuan=request.getParameter("xueyuan");
String zhuanye=request.getParameter("zhuanye");
String banji=request.getParameter("banji");
Class.forName("com.mysql.jdbc.Driver");
Connection conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydatabase","root","123456");
String sql="insert into stuInfo values(?,?,?,?,?,?,?,?,?,?)";
PreparedStatement pstmt=conn.prepareStatement(sql);
pstmt.setInt(1, id);
pstmt.setString(2,name);
pstmt.setString(3,sex);
pstmt.setInt(4,age);
pstmt.setString(5,domitory);
pstmt.setString(6,phone);
pstmt.setString(7,address);
pstmt.setString(8,xueyuan);
pstmt.setString(9,zhuanye);
pstmt.setString(10,banji);
pstmt.executeUpdate();
out.println("<hr/><h2>插入成功</h2><br/>");
out.println("<a href=show.jsp>查询所有记录");
%>
</table><br/>
</body>
</html>
5;修改记录
<%@ page contentType="text/html;charset=UTF-8" language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>
<!DOCTYPE HTML >
<html>
<head>
<title>修改记录</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="在线购物,购物车,商品一览">
<meta http-equiv="description" content="jsp开发购物车">
</head>
<body>
<h2>添加学生记录</h2><hr/>
<table border="1" width="600">
<%
Class.forName("com.mysql.jdbc.Driver");
Connection conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydatabase","root","123456");
String sql="update stuInfo set name=? where id=?";
PreparedStatement pstmt=conn.prepareStatement(sql);
pstmt.setString(1,"王月清");
pstmt.setInt(2, 4151044);
pstmt.executeUpdate();
out.println("<hr/><h2>更新成功</h2><br/>");
out.println("<a href=show.jsp>查询所有记录");
%>
</table><br/>
</body>
</html>
6:删除记录
<%@ page contentType="text/html;charset=UTF-8" language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>
<!DOCTYPE HTML >
<html>
<head>
<title>删除记录</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="在线购物,购物车,商品一览">
<meta http-equiv="description" content="jsp开发购物车">
</head>
<body>
<h2>添加学生记录</h2><hr/>
<table border="1" width="600">
<%
Class.forName("com.mysql.jdbc.Driver");
Connection conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydatabase","root","123456");
String sql="delete from stuInfo where name=?";
PreparedStatement pstmt=conn.prepareStatement(sql);
pstmt.setString(1,"王月清");
pstmt.executeUpdate();
out.println("<hr/><h2>删除成功</h2><br/>");
out.println("<a href=show.jsp>查询所有记录");
%>
</table><br/>
</body>
</html>
7:分页显示所有记录
<%@ page contentType="text/html;charset=UTF-8" language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>
<!DOCTYPE HTML >
<html>
<head>
<title>分页显示所有记录</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="在线购物,购物车,商品一览">
<meta http-equiv="description" content="jsp开发购物车">
</head>
<body>
<h2>统计查询</h2><hr/>
<table border="1" width="600">
<%
Class.forName("com.mysql.jdbc.Driver");
Connection conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydatabase","root","123456");
int intPageSize;//每页显示的记录数
int intRowCount;//所有记录总数之和
int intPageCount;//总页数
int intPage;//待显示的页码
String strPage;
intPageSize=5;
int i;
strPage=request.getParameter("page");
if(strPage==null)
{
intPage=1;
}
else
{
intPage=Integer.parseInt(strPage);
if(intPage<1)
intPage=1;
}
String sql="select * from stuInfo";
PreparedStatement pstmt=conn.prepareStatement(sql);
ResultSet rs=pstmt.executeQuery();
rs.last();
intRowCount=rs.getRow();
intPageCount=(intRowCount+intPageSize-1)/intPageSize;
if(intPage>intPageCount)
{
intPage=intPageCount;
}
if(intPageCount>0)
{
rs.absolute((intPage-1)*intPageSize+1);
i=0;
while(i<intPageSize&&!rs.isAfterLast())
{
%>
<tr>
<td><%=rs.getInt(1)%></td>
<td><%=rs.getString(2)%></td>
<td><%=rs.getString(3)%></td>
<td><%=rs.getInt(4)%></td>
<td><%=rs.getString(5)%></td>
<td><%=rs.getString(6)%></td>
<td><%=rs.getString(7)%></td>
<td><%=rs.getString(8)%></td>
<td><%=rs.getString(9)%></td>
<td><%=rs.getString(10)%></td>
</tr>
<%
rs.next();
i++;
}
}
%>
</table><br/>
<hr/>
<div align="center">
第<%=intPage%>页 共<%=intPageCount%>页
<%
if(intPage<intPageCount)
{
%>
<a href="page.jsp?page=<%=intPage+1%>">下一页</a>
<%
}
if(intPage>1){
%>
<a href="page.jsp?page=<%=intPage-1%>">上一页</a>
<%
}
rs.close();
pstmt.close();
conn.close();
%>
</div>
</body>
</html>
- 上一篇: 取得HttpSession实例化实例
- 下一篇: jsp调用javaBean方式一(new实例化对象)