入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

jsp访问数据库(完整总结)

创建时间:2016-10-22 投稿人: 浏览次数:7608

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="男"/>男&nbsp;
           <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="注册">&nbsp;
    <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%>页&nbsp;共<%=intPageCount%>页
    <%
      if(intPage<intPageCount)
      {
     %>
     <a href="page.jsp?page=<%=intPage+1%>">下一页</a>&nbsp;
     <%
     }
     if(intPage>1){
     %>
     <a href="page.jsp?page=<%=intPage-1%>">上一页</a>
      <%
      }
      rs.close();
      pstmt.close();
      conn.close();
       %>
    </div>
</body>
</html>

声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。