(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="提 交">&nbsp;&nbsp;&nbsp;
<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>&nbsp;&nbsp;&nbsp;&nbsp;
最小<input type="text" name="w1" value="0"><br><br>
&nbsp;&nbsp;&nbsp;&nbsp;
最大<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的学生体质管理系统的更多相关文章

  1. 2017.11.15 String、StringBuffer、StringBuilder的比较(todo)

    参考来自:http://blog.csdn.net/jeffleo/article/details/52194433 1.速度 一般来说,三者的速度是:StringBuilder > Strin ...

  2. 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 ...

  3. 2017.11.15 linux软件安装管理(todo)

    学习来自:http://www.imooc.com/learn/447 第一章 介绍 第二章 软件包简介 1.源码包 2.二进制包(RPM包或系统默认包) 脚本安装包其实是别人把软件安装的脚本写好了, ...

  4. 2017.11.15 hashmap的工作原理

    参考来自:http://blog.csdn.net/jeffleo/article/details/54946424 一 hashMap的基本概念 1.HashMap的定义 public class ...

  5. 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). 然而最新版 ...

  6. Django 小实例S1 简易学生选课管理系统 11 学生课程业务实现

    Django 小实例S1 简易学生选课管理系统 第11节--学生课程业务实现 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 课程模块中,学生需要拥 ...

  7. java学生简单管理系统

    1 //设一个班有n名学生,期末考试5门,编写程序评定学生奖学金 2 514 //要求打印输出一二等奖学金学生的学号,姓名和各科成绩 3 515 //总成绩超过全班总平均成绩20%一等奖学金,超过总平 ...

  8. Java 实现学生信息管理系统

    编写一个简单的学生管理信息系统. 在oracle中设计一张学生表,以学号作为关键字. 其他学生信息有:姓名.手机号. 在进入系统时,显示如下菜单: ************************** ...

  9. loj #6250. 「CodePlus 2017 11 月赛」找爸爸

    #6250. 「CodePlus 2017 11 月赛」找爸爸 题目描述 小 A 最近一直在找自己的爸爸,用什么办法呢,就是 DNA 比对. 小 A 有一套自己的 DNA 序列比较方法,其最终目标是最 ...

随机推荐

  1. vue中this.$router.push() 传参

    1  params 传参 注意⚠️:patams传参 ,路径不能使用path 只能使用name,不然获取不到传的数据 this.$router.push({name: 'dispatch', para ...

  2. 树莓派安装Raspbian系统以及相关配置(通过Windows)

    1.准备 树莓派3B+(E14) 一张内存卡 (至少16G) 一个读卡器 普通电脑显示器,键盘,鼠标 2.操作系统烧制(下面的操作都是在Windows中操作,通过读开启读取内存卡) Raspbian系 ...

  3. jQuery自动完成插件flexselect

    项目中使用flexselect自动完成插件时遇到一个问题 刚开始以为是js的引用顺序有问题,但是查看后发现不是js引用顺序问题 js引用顺序如下 最后查找资料也没有解决问题,一直提示这个错误 后来在f ...

  4. HTML_DOM学习

    HTML DOM 树 通过ID/类名/标号可以定位HTML元素,然后可用JS改变这些元素的样式内容,并对DOM事件作出反应 对HTML事件的响应: onmousedown 和onmouseup/onc ...

  5. Unity 在Inspector面板,脚本前面的激活对勾

    写个脚本,把它挂在一个游戏对象上: using System.Collections; using System.Collections.Generic; using UnityEngine; pub ...

  6. git 基础教程

    git 提交 全部文件 git add .  git add xx命令可以将xx文件添加到暂存区,如果有很多改动可以通过 git add -A .来一次添加所有改变的文件.注意 -A 选项后面还有一个 ...

  7. hql基础入门

    [转]进入HQL世界 一个ORM框架是建立在面向对象的基础上的.最好的例子是Hibernate如何提供类SQL查询.虽然HQL的语法类似于SQL,但实际上它的查询目标是对象.HQL拥有面向对象语言的所 ...

  8. 日期API

    Java 8 在包java.time下包含了一组全新的时间日期API.下面的例子展示了这组新API里最重要的一些部分: 1.Clock 时钟 Clock类提供了访问当前日期和时间的方法,Clock是时 ...

  9. 安全漏洞 : XSS CSRF

    https://my.oschina.net/hc24/blog/527099 XSS成因概括 : XSS其实就是Html的注入问题,攻击者A的输入没有经过严格的控制进入了数据库,最终显示给来访的用户 ...

  10. HTML头部元素实例

    HTML head 元素 标签 描述 <head> 定义了文档的信息 <title> 定义了文档的标题 <base> 定义了页面链接标签的默认链接地址 <li ...