一.问题概述

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

        分页显示: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. docker 安装 redis

    docker拉去镜像以及配置生成容器的步骤几乎和之前的nginx安装一样,直接写下面的命令了 1. docker pull redis 2. docker run -p 6379:6379 -v /U ...

  2. GI缓存

    GI缓存 设置 属性 最大高速缓存大小(GB) 使用滑块设置最大GI缓存文件夹大小.只要可能,GI缓存文件夹将保持在此大小以下.定期删除未使用的文件以创建更多空间.这是由编辑器自动执行,不需要你做任何 ...

  3. 洛谷P2800 又上锁妖塔

    放题解 题目传送门 放代码

  4. 关于Apache显示port 80 in use 无法解决的情况,这个世界对程序媛太不友好了

    学到Ajax时下载了Apache,百度的安装教程,配置文件参数分别是: 1. httpd.conf里的80改为8000或者其他的,共三处(用记事本打开,按ctrl+F找方便) 2. httpd-ssl ...

  5. P4890 Never·island

    传送门 考虑把总区间长度减去最多能减少的区间长度 把所有区间离散化,对每一小段计算贡献 分类讨论一波,对于边界 $i,i+1$ ,设它们之间距离 $d$,$i$ 属于 $x$ 考察队的边界,$i+1$ ...

  6. PHPExcel 读取的几个例子

    1.使用 PHPExcel_IOFactory 读取文件 $objPHPExcel = PHPExcel_IOFactory::load($inputFileName); 2.使用一个特定的读取类,读 ...

  7. maven项目在eclipse中debug时看不到源码?

    就像图中一样,看不到源码,但是能step over,也可查看变量值,点击edit source lookup path,选定项目的一瞬间源码会出来,但马上又变回原样了,求大神指教~ 我也遇到这个问题了 ...

  8. 日志统计--蓝桥杯--vector

    /* 标题:日志统计 小明维护着一个程序员论坛.现在他收集了一份"点赞"日志,日志共有N行.其中每一行的格式是: ts id 表示在ts时刻编号id的帖子收到一个"赞&q ...

  9. linux下目录、文件显示颜色的设置生效

    Centos系统 拷贝/etc/DIR_COLORS文件为当前主目录的 .dir_colors 命令:cp /etc/DIR_COLORS ~/.dir_colors 修改~/.dir_colors中 ...

  10. PIE SDK PCA融合

    1.算法功能简介 PCA 融合分三步实现,首先将多光谱数据进行主成分变换,然后用高分辨单波段替换第一主成分波段,最后进行主成份逆变换得到融合图像. PIE支持算法功能的执行,下面对PCA融合算法功能进 ...