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="提 交">&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.整合形成系统

posted @ 2017-11-15 22:38  LegendQi  阅读(1454)  评论(0编辑  收藏  举报