一.问题概述

        实现了数据库的增删改查和分页显示。

        分页显示:mysql

String cmd = "select * from t_user limit "+firstResult+","+pageSize;
mysql> SELECT * FROM table LIMIT 5,10; // 检索记录行 6-15
--为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1:
mysql> SELECT * FROM table LIMIT 95,-1; // 检索记录行 96-last.
--如果只给定一个参数,它表示返回最大的记录行数目:
mysql> SELECT * FROM table LIMIT 5; //检索前 5 个记录行
--换句话说,LIMIT n 等价于 LIMIT 0,n。 

                  分页显示:sql server

select top 10 * from table --这是选出前10条
select top 100 *from table where id not in(select Top 50 id from table)
--这是选出第51到100条,使用存储过程也好。

        文档结构如下:

           

二.代码实现

<!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=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="insert.jsp" method="post">
<table>
	<tr>
		<td>用户名:</td>
		<td><input type="text" name="username"></td>
	</tr>
	<tr>
		<td>密码:</td>
		<td><input type="text" name="password"></td>
	</tr>
	<tr>
		<td colspan="2"><input type="submit" value="提交"/> </td>
	</tr>
</table>

</form>
</body>
</html>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	String username = request.getParameter("username");
	String password = request.getParameter("password");

	String cmd = "insert into t_user (username,password) values('"+username+"','"+password+"')";
	int count = 0;
	try{
		Class.forName("com.mysql.jdbc.Driver");
		String url= "jdbc:mysql://127.0.0.1/db_user";
		String uid = "root";
		String pwd = "root";
		Connection conn = DriverManager.getConnection(url,uid,pwd);
		Statement st = conn.createStatement();
		count = st.executeUpdate(cmd);
		conn.close();
	}catch(Exception e){
		e.printStackTrace();
	}
	if(count>0) response.sendRedirect("list.jsp");
	else response.sendRedirect("error.jsp");
%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<a href="fill.html">添加新人员</a>
	<br />
	<table border="1">
		<tr>
			<td>ID</td>
			<td>username</td>
			<td>password</td>
			<td>操作</td>
		</tr>
		<%
	String pageNum = request.getParameter("pageNum");
	int rowCount = 0;//数据库表总纪录数
	int pageSize = 3;//每页显示纪录数,假设为3
	int pageCount =0;//共有多少页
	//pn做pageNum的中间变量使用的
	int pn = 1;
	if(null != pageNum && pageNum.length()>0)
		pn = Integer.parseInt(pageNum);


	try{
		Class.forName("com.mysql.jdbc.Driver");
		String url = "jdbc:mysql://127.0.0.1/db_user";
		String uid = "root";
		String pwd = "root";
		Connection conn = DriverManager.getConnection(url,uid,pwd);

		Statement st2 = conn.createStatement();
		String cmd2 = "select count(*) from t_user ";
		ResultSet rs2 = st2.executeQuery(cmd2);
		if(rs2.next()){
			rowCount = rs2.getInt(1);
		}
		rs2.close();

		pageCount = rowCount%pageSize ==0 ? (rowCount/pageSize) : (rowCount/pageSize+1);
		if(pn < 1 ) pn = 1;
		if(pn >pageCount) pn = pageCount;

		int firstResult = (pn-1)*pageSize;


		Statement st = conn.createStatement();
		/*MySql数据库有limit关键字,注意用法
		第一个参数是从0开始的,不是一
		SELECT * FROM table LIMIT 5,10; // 检索记录行 6-15
		*/
		String cmd = "select * from t_user limit "+firstResult+","+pageSize;
		ResultSet rs = st.executeQuery(cmd);
		while(rs.next()){

%>
		<tr>
			<td><%=rs.getInt(1) %></td>
			<td><%=rs.getString(2) %></td>
			<td><%=rs.getString(3) %></td>
			<td>
				<a href="edit.jsp?id=<%=rs.getInt(1) %>">编辑</a>
				<a href="delete.jsp?id=<%=rs.getInt(1) %>"> 删除</a>
			</td>
		</tr>
		<%
		}
		conn.close();

	}catch(Exception e){
		e.printStackTrace();
	}
%>
		<tr>
			<td colspan="4">共有<%=rowCount %>条记录,每页显示<%=pageSize %>条记录,共显示<%=pageCount %>页,当前是第<%=pn %>页。
			</td>

		</tr>
		<tr>
			<td colspan="4"><a href="list.jsp?pageNum=1">第一页</a>
				<a href="list.jsp?pageNum=<%=pn-1 %>">上一页</a>
				<a href="list.jsp?pageNum=<%=pn+1 %>">下一页</a>
				<a href="list.jsp?pageNum=<%=pageCount %>">最后页</a>
			</td>
		</tr>
	</table>
</body>
</html>
<%@page import="java.sql.ResultSet"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<!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=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
String id = request.getParameter("id");
String username = "";
String password = "";
try{
	Class.forName("com.mysql.jdbc.Driver");
	String url= "jdbc:mysql://127.0.0.1/db_user";
	String uid = "root";
	String pwd = "root";
	Connection conn = DriverManager.getConnection(url,uid,pwd);
	Statement st = conn.createStatement();
	String cmd = "select * from t_user where id="+id;
	ResultSet rs = st.executeQuery(cmd);
	if(rs.next()){
		username = rs.getString(2);
		password = rs.getString(3);
	}
	conn.close();
}catch(Exception e){
	e.printStackTrace();
}

%>

<form action="update.jsp" method="post">
<input type="hidden" name="id" value="<%=id %>"/>
<table>

	<tr>
		<td>用户名:</td>
		<td><input type="text" name="username" value="<%=username %>"></td>
	</tr>
	<tr>
		<td>密码:</td>
		<td><input type="text" name="password" value="<%=password %>"></td>
	</tr>
	<tr>
		<td colspan="2"><input type="submit" value="提交"/> </td>
	</tr>
</table>

</form>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%
	int count = 0;
	String id = request.getParameter("id");
    if(null != id && id.length()>0){

		String cmd = "delete from t_user where id="+id;
		try{
			Class.forName("com.mysql.jdbc.Driver");
			String url= "jdbc:mysql://127.0.0.1/db_user";
			String uid = "root";
			String pwd = "root";
			Connection conn = DriverManager.getConnection(url,uid,pwd);
			Statement st = conn.createStatement();
			count = st.executeUpdate(cmd);
			conn.close();
		}catch(Exception e){
			e.printStackTrace();
		}
    }
	if(count>0) response.sendRedirect("list.jsp");
	else response.sendRedirect("error.jsp");
%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%
	int count = 0;
	String id = request.getParameter("id");
	String username = request.getParameter("username");
	String password = request.getParameter("password");
	if(null != id && id.length()>0){

		String cmd = "update t_user set username='"+username+"',password='"+password+"' where id="+id;
		try{
			Class.forName("com.mysql.jdbc.Driver");
			String url= "jdbc:mysql://127.0.0.1/db_user";
			String uid = "root";
			String pwd = "root";
			Connection conn = DriverManager.getConnection(url,uid,pwd);
			Statement st = conn.createStatement();
			count = st.executeUpdate(cmd);
			conn.close();
		}catch(Exception e){
			e.printStackTrace();
		}
	}
	if(count>0) response.sendRedirect("list.jsp");
	else response.sendRedirect("error.jsp");
%>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>db</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
</web-app>

JSP数据库综合练习的更多相关文章

  1. jsp 传值jsp 数据库 乱码解决的攻略 全套

    jsp传值给jsp中文乱码 传值给数据库乱码的解决方法 所有的用到编码的所有统一utf-8 1.装mysql的时候有选择编码的界面的那个地方选utf-8编码 2 建数据库的时候选择 字符集 排序规则所 ...

  2. Servlet+JSP+JDBC综合案例

    层级关系: 一.Util包 包里面写一个JDBCTools.java文件 功能:实现数据库连接返回一个Connection对象,并且可以实现数据库相应资源的关闭! 注意事项: 1.定义成员变量 1 p ...

  3. 基于MVC模式的数据库综合练习

    一.准备 没什么好说的,直接上代码.... 下面是web.xml <servlet> <servlet-name>list_user</servlet-name> ...

  4. 3.QT数据库综合案例,模糊查询等操作

     1 新建一个项目: Database01.pro SOURCES += \ main.cpp \ Contact.cpp QT += gui widgets sql CONFIG += C++1 ...

  5. jsp数据库开发

    完全卸载mysql数据库图文教程 https://jingyan.baidu.com/article/f96699bbaa8fc1894f3c1b5a.html MySQl:123456 JDBC概述 ...

  6. (纠错)JSP数据库判断是否存在

  7. JSP数据库插入判断

  8. JSP-Runoob:JSP 链接数据库

    ylbtech-JSP-Runoob:JSP 链接数据库 1.返回顶部 1. JSP 连接数据库 本教程假定您已经了解了 JDBC 应用程序的工作方式.在您开始学习 JSP 数据库访问之前,请访问 J ...

  9. JSP应用开发 -------- 电纸书(未完待续)

    http://www.educity.cn/jiaocheng/j9415.html JSP程序员常用的技术   第1章 JSP及其相关技术导航 [本章专家知识导学] JSP是一种编程语言,也是一种动 ...

随机推荐

  1. mvc 请求处理管道

    原文 http://blog.csdn.net/wulex/article/details/41514795 当一个asp.net mvc应用程序提出请求,为了响应请求,包含一些请求执行流程步骤! 在 ...

  2. .Net Core 使用swagger UI

    swagger UI 第一步:首先添加包Swashbuckle.AspNetCore (可通过微软添加包命令Install-Package 包名进行添加,也可以通过管理NuGet程序包进行添加) 第二 ...

  3. Ubuntu Server 中实际内存与物理内存不相等的问题

    记录 来源 v2ex,提到了一个平时不是很起眼的问题,Ubuntu Server 中系统默认会占用 128M 内存,用于 CVM 内部的 kdump 服务. 科普 查看 CVM 所拥有的物理内存 通过 ...

  4. Android 多个界面(Activity)

    1.介绍 2.相关属性 (1)启动Activity (2)Intent介绍 (3)关闭Activity 3.多个页面之间传递数据(页面1向页面2传递数据,单向传递数据) (1)相关属性 注意:data ...

  5. mysql数据库怎么使用,mysql的使用方法

    https://jingyan.baidu.com/article/5d368d1ec069c13f61c05742.html 数据库的开启与关闭: https://blog.csdn.net/u01 ...

  6. Windows10 下安装 MySQL Workbench + Thinkphp

    昨天,搭建了最基本的 W + I + M + P 环境,今天把 workbench 装上,毕竟效率是第一位的,还不是吾装的时候. MySQL.org 下载最新的 workbench,一路安装倒是没有任 ...

  7. HDU 1232 (畅通工程) 并查集经典模板题

    Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府"畅通工程"的目标是使全省任何两个城镇间都可以实现交通 ...

  8. 1128 N Queens Puzzle (20 分)

    The "eight queens puzzle" is the problem of placing eight chess queens on an 8 chessboard ...

  9. PHP操作Access数据库

    ADO是一项微软的技术,ADO指ActiveX数据对象(ActiveX Data Objects). 链接数据库 <?php header("Content-Type:text/htm ...

  10. [转] 智能合约开发环境搭建及Hello World合约

    [From] http://www.cnblogs.com/tinyxiong/p/7898599.html 如果你对于以太坊智能合约开发还没有概念(本文会假设你已经知道这些概念),建议先阅读入门篇. ...