2017.11.15 JavaWeb的学生体质管理系统
(11)案例-----学生身体体质信息管理系统的开发
11.1 功能划分:
1.添加记录模块:完成向数据库添加新纪录
2.查询记录模块:完成将数据库的记录以网页的方式显示出来,一般采用有条件的查询
3.修改记录操作:完成对指定条件的数据库记录实现修改
4.删除记录操作:完成对指定条件记录从数据库中删除
11.2 每个模块的操作流程
1.注册驱动
2.建立连接
3.创建数据库操作对象
4.执行语句
5.处理执行结果
6.释放资源
操作流程:
1.数据库和数据表的建立
数据库students 数据表students_info
2.注册驱动并建立数据库的连接
String driverName="com.mysql.jdbc.Driver";//加载驱动程序名
String userName="root"; //数据库用户名
String userPwd="123456"; //密码
String dbName="students"; //数据库名字
String url1="jdbc:mysql://localhost:3306/"+dbName;
String url2="?user="+userName+"&password="+userPwd;
String url3="&userUnicode=true&character=UTF-8";
String url=url1+url2+url3;//形成带数据库读写编码的数据库连接字
Class.forName(driverName);//加载并注册驱动程序
Connection conn=DriverManager.getConnection(url);
3.添加记录模块
基本格式:insert into 表名(字段名列表) values(值列表)
//insert_stu_2_tijiao.jsp
<%@page contentType="text/html%" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>添加任意学生的提交页面</title>
</head>
<body>
<form action="insert_stu_2.jsp" method="post">
<table border="0" width="238" height="252">
<tr><td>学号</td><td><input type="text" name="id"></td></tr>
<tr><td>姓名</td><td><input type="text" name="name"></td></tr>
<tr><td>性别</td><td><input type="text" name="sex"></td></tr>
<tr><td>年龄</td><td><input type="text" name="age"></td></tr>
<tr><td>体重</td><td><input type="text" name="weight"></td></tr>
<tr><td>身高</td><td><input type="text" name="hight"></td></tr>
<tr align="center">
<td colspan="2">
<input type="submit" value="提 交">
<input type="reset" value="取 消">
</td>
</tr>
</table>
</form>
</body>
</html>
//insert_stu_2.jsp
<%@ page language="java" import="java.sql.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>利用PreparedStatement对象添加一条记录页面</title>
</head>
<body>
<%
String driverName="com.mysql.jdbc.Driver";//加载驱动程序名
String userName="root"; //数据库用户名
String userPwd="123456"; //密码
String dbName="students"; //数据库名字
String url1="jdbc:mysql://localhost:3306/"+dbName;
String url2="?user="+userName+"&password="+userPwd;
String url3="&userUnicode=true&character=UTF-8";
String url=url1+url2+url3;//形成带数据库读写编码的数据库连接字
Class.forName(driverName);//加载并注册驱动程序
Connection conn=DriverManager.getConnection(url); //数据库连接
String sql="Insert into stu_info(id,name,sex,age,weight,hight)values(?,?,?,?,?,?)";//sql语句
PreparedStatement pstmt=conn.prepareStatement(sql);//执行编译
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"));
float weight=Float.parseFloat(request.getParameter("weight"));
float hight=Float.parseFloat(request.getParameter("hight"));
pstmt.setInt(1,id); //设置参数
pstmt.setString(2,name);
pstmt.setString(3,sex);
pstmt.setInt(4,age);
pstmt.setFloat(5,weight);
pstmt.setFloat(6,hight);
int n=pstmt.executeUpdate();
if(n==1){ %>数据插入操作成功!<br><%}
else{ %>数据插入操作失败!<br> <% }
if(pstmt!=null){
pstmt.close();
}
if(conn!=null){
conn.close();
}
%>
</body>
</html>
4.查询记录模块
基本格式:select 要列出的字段名 from 表名 where 特定条件
//find_stu_3.jsp
<%@page contentType="text/html" import="java.sql.*" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>由提交页面获取查询条件并实现查询的页面</title>
</head>
<body>
<center>
<% request.setCharacterEncoding("utf-8");
String driverName="com.mysql.jdbc.Driver";
String userName="root";
String userPassword="123456";
String dbName="students";
String url1="jdbc:mysq://localhost:3306/"+dbName;
String url2="?user="+userName+"&password"+userPassword;
String url3="&userUnicode=true&characterEncoding=UTF-8";
String url=url1+url2+url3;
Class.forName(driverName);
Connection conn=DriverManager.getConnection(url);
String sql="select *form stu_info where sex=? and weight>=? and weight<=?";
PreparedStatement pstmt=conn.prepareStatement(sql);
ResultSet rs=pstmt.executeQuery();
rs.last();
%>你要查询的学生数据表中共有
<font size="5" color="red"><%=rs.getRow()%></font>人
<table border="2" bgcolor="ccceee" width="650">
<tr bgcolor="CCCCCC" align="center">
<td>记录条数</td><td>学号</td><td>姓名</td>
<td>性别</td><td>年龄</td><td>体重</td><td>身高</td>
</tr>
<% rs.beforeFirst();
while(rs.next()){%>
<tr align="center">
<td><%=rs.getRow() %></td>
<td><%=rs.getString("id") %></td>
<td><%=rs.getString("name") %></td>
<td><%=rs.getString("sex") %></td>
<td><%=rs.getString("age") %></td>
<td><%=rs.getString("weight") %></td>
<td><%=rs.getString("hight") %></td>
</tr>
<%} %>
</table>
</center>
<% if(rs!=null){rs.close();}
if(pstmt!=null){pstmt.close();}
if(conn!=null){conn.close();}%>
</body>
</html>
//find_stu_3_tijiao.jsp
<%@page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>查询条件提交页面</title>
</head>
<body>
请选择查询条件<hr width="100%" size="3">
<form action="find_stu_3.jsp" method="post">
性别:男<input type="radio" name="sex" value="男">
女<input type="radio" name="sex" value="女">
<br/>
体重范围:<p>
最小<input type="text" name="w1" value="0"><br><br>
最大<input type="text" name="w2" value="150"><p>
<input type="submit" value="提交">
<input type="reset" value="取 消">
</form>
</body>
</html>
5.修改记录模块的设计和实现
6.删除记录模块的实现
7.数据库操作模板
8.整合形成系统
2017.11.15 JavaWeb的学生体质管理系统的更多相关文章
- 2017.11.15 String、StringBuffer、StringBuilder的比较(todo)
参考来自:http://blog.csdn.net/jeffleo/article/details/52194433 1.速度 一般来说,三者的速度是:StringBuilder > Strin ...
- 2017.11.15 Add a parameter –serial <serial no> to the Target field.
1 exe创建快捷方式,并且加后缀 program --serial 50114130 这是Win里面的一种调用说明. Please note that the programming logs ...
- 2017.11.15 linux软件安装管理(todo)
学习来自:http://www.imooc.com/learn/447 第一章 介绍 第二章 软件包简介 1.源码包 2.二进制包(RPM包或系统默认包) 脚本安装包其实是别人把软件安装的脚本写好了, ...
- 2017.11.15 hashmap的工作原理
参考来自:http://blog.csdn.net/jeffleo/article/details/54946424 一 hashMap的基本概念 1.HashMap的定义 public class ...
- CUDA 9.1/9.2 与 Visual Studio 2017 (VS2017 15.6.4) 的不兼容问题
2018年7月9日更新: CUDA已推出9.2版本,最高支持MSVC++ 14.13 _MSC_VER == 1913 (Visual Studio 2017 version 15.6). 然而最新版 ...
- Django 小实例S1 简易学生选课管理系统 11 学生课程业务实现
Django 小实例S1 简易学生选课管理系统 第11节--学生课程业务实现 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 课程模块中,学生需要拥 ...
- java学生简单管理系统
1 //设一个班有n名学生,期末考试5门,编写程序评定学生奖学金 2 514 //要求打印输出一二等奖学金学生的学号,姓名和各科成绩 3 515 //总成绩超过全班总平均成绩20%一等奖学金,超过总平 ...
- Java 实现学生信息管理系统
编写一个简单的学生管理信息系统. 在oracle中设计一张学生表,以学号作为关键字. 其他学生信息有:姓名.手机号. 在进入系统时,显示如下菜单: ************************** ...
- loj #6250. 「CodePlus 2017 11 月赛」找爸爸
#6250. 「CodePlus 2017 11 月赛」找爸爸 题目描述 小 A 最近一直在找自己的爸爸,用什么办法呢,就是 DNA 比对. 小 A 有一套自己的 DNA 序列比较方法,其最终目标是最 ...
随机推荐
- 基于wireshark抓包分析TCP的三次握手
1. TCP的三次握手 在TCP/IP协议通讯过程中,采用三次握手建立连接,从而保证连接的安全可靠. 所有基于TCP的通信都需要以两台主机的握手开始.这个握手过程主要是希望能达到以下不同的目的.[1] ...
- java——链表、链表栈 LinkedListStack、链表队列 LinkedListQueue
LikedList: package Date_pacage; public class LinkedList<E> { public static void main(String[] ...
- Django权限1
1.权限,说白了就是你有资格访问这个网址,而别人每一资格:你有资格进行增删改查,而别人只有查的权限 2.新建是3张表: #用户表 class User(models.Model): name = mo ...
- java 数字进制之间转换
//10进制转换 16进制 System.out.println(Integer.toHexString(val)); System.out.println(String.format("% ...
- jQuery 间歇式无缝滚动特效分享(三张图片平行滚动)
最近项目中门户首页需要做出图片间歇式无缝滚动特效,但是在网上找资料都是不太理想,不过可以指导.最后自己写了一个demo实现了这个特效,分享出来. 1.jquery.cxscroll.js /*! * ...
- IA-32e模式下的异常处理
系统异常处理 CPU如果调用系统异常处理程序 需要的数据结构 IDT_Table: 中断向量表, 在中断向量表中的每一项都是一个中断描述符(中断门或者陷阱门), 一个中断描述符中的几位是段选择符 GD ...
- Python学习笔记--语音处理初步
语音处理最基础的部分就是如何对音频文件进行处理. 声音的物理意义:声音是一种纵波,纵波是质点的振动方向与传播方向同轴的波.如敲锣时,锣的振动方向与波的传播方向就是一致的,所以声波是纵波.纵波是波动的一 ...
- 第一个flask程序
flask简介: flask是一款非常流行的Python Web框架,出生于2010年,作者是Armin Ronacher,本来这个项目只是作者在愚人节的一个玩笑,后来由于非常受欢迎,进而成为一个正 ...
- Git GUI基本操作
一.Git GUI基本操作 1.版本库初始化 gitpractise文件夹就变成了Git可以管理的仓库,目录下多了一个.git文件夹,此目录是Git用于管理版本库的,不要擅自改动里面的文件,这样会破坏 ...
- executenonquery只对insert,delete,update有效,查询select会默认返回-1
问题:cmd.ExecuteNonQuery() 方法总是返回-1 原因:ExecuteNonQuery() 方法 select 返回-1 解释:执行Select子句,数据库并无变化,自然返回-1同样 ...