某公司想开发一套学生信息管理系统,现在需要我们开发学生添加和查看功能模块,具体要求如下:
(1)按照标准绘制实体关系图
(2)可以采用Visio或其他工具完成
(1)根据用户需求描述,按照标准格式编写详细设计说明书
(1)根据实体关系图完成数据表设计
1、启动服务 cmd -> net start mssqlserver
2、使用指处理,新建一个service.bat文件,在中间放入以下内内容:
@echo off
:a
echo 请选择要执行批处理命令:
echo ------------------------------------------------------
echo 1 开启MSSQLServer
echo 2 关闭MSSQLServer
echo 3 开启Oracle
echo 4 关闭Oracle
echo 5 快速关机
echo 6 开启MySQL
echo 7 关闭MySQL
echo 8 开启Redis
echo 9 关闭Redis
echo a 开启Tomcat
echo b 关闭Tomcat
echo ------------------------------------------------------
Set/p var1=请输入您要执行的指令:[1/2/3/4/5/6/7/8/9/a/b]
if %var1% ==1 goto C1
if %var1% ==2 goto C2
if %var1% ==3 goto C3
if %var1% ==4 goto C4
if %var1% ==5 goto C5
if %var1% ==6 goto C6
if %var1% ==7 goto C7
if %var1% ==8 goto C8
if %var1% ==9 goto C9
if %var1% ==a goto xa
if %var1% ==b goto xb
echo.
cls
goto a:
echo.
:C1
net Start MSSQLServer /Y
goto EndApp
echo.
:C2
net Stop MSSQLServer /Y
goto EndApp
echo.
:C3
net Start OracleServiceORCL /Y
net Start OracleOraDb11g_home1TNSListener /Y
goto EndApp
echo.
:C4
net stop OracleServiceORCL /Y
net stop OracleOraDb11g_home1TNSListener /Y
goto EndApp
echo.
:C5
shutdown -s -f -t 0
goto EndApp
echo.
:C6
net Start MySQL /Y
goto EndApp
echo.
:C7
net Stop MySQL /Y
goto EndApp
echo.
:C8
net Start redis /Y
goto EndApp
echo.
:C9
net Stop redis /Y
goto EndApp
echo.
:xa
h:
cd H:\InstallFiles\javaKit\apachetomcat7057windowsx64\apachetomcat7057\bin
startup.bat
goto EndApp
echo.
:xb
h:
cd H:\InstallFiles\javaKit\apachetomcat7057windowsx64\apachetomcat7057\bin
shutdown.bat
goto EndApp
echo.
:EndApp
Set/p var3=是否继续操作:[y/n]
If %var3% == y goto a:
3、手动启动
我的电脑->右键->管理->服务->找到SQL Server(MSSQLSERVER)
4、启动数据库管理工具
win+r->ssms命令
5、创建数据库
6、创建表
主键
添加字段
id 编号
name 名称
sex 性别
cno 班级
addr 地址
保存->表名Student
7、添加记录
8、测试
运行SQL
9、导出SQL
启动MyEclipse
默认快捷键为alt+/,可以修改为其它习惯的快捷键,如tab,tab
新建项目,动态网页项目
填写项目名称,路径
项目创建成功
包名:com.zhangguo.studentmis.entities 类名:Sutdent
package com.zhangguo.studentmis.entities;
/** 学生实体 */
public class Student {
/** 编号 */
private int id;
/** 姓名 */
private String name;
/** 班级 */
private String cno;
/** 性别 */
private String sex;
/** 地址 */
private String addr;
public int getId() {
return id;
}
//写
public void setId(int id) {
this.id = id;
}
//读
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCno() {
return cno;
}
public void setCno(String cno) {
this.cno = cno;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAddr() {
return addr;
}
public void setAddr(String addr) {
this.addr = addr;
}
}
类名:StudentService 实体名+Service 包名:com.zhangguo.studentmis.dao;
package com.zhangguo.studentmis.dao;
import java.util.List;
import com.zhangguo.studentmis.entities.Student;
/**学生服务类*/
public class StudentService {
public static void main(String[] args) {
//实例化学生服务对象
StudentService ss=new StudentService();
Student e=new Student();
e.setName("张果果");
e.setCno("S3SU198");
e.setSex("女");
e.setAddr("中国深圳");
ss.add(e);
//获得所有的学生对象,遍历
for (Student s : ss.getAll()) {
System.out.println(s.getId()+","+s.getName());
}
}
/**查询所有学生信息*/
public List<Student> getAll(){
//定义SQL
String sql="SELECT student.id, student.`name`,student.sex,student.cno,student.addr FROM student";
//访问数据库并返回数据
return JDBCUtils.queryForList(sql, Student.class);
}
/**添加学生信息*/
public int add(Student s){
//将执行的添加sql语句,?表示参数
String sql="INSERT student(name,sex,cno,addr) values(?,?,?,?);";
//执行sql并指定参数
return JDBCUtils.update(sql, s.getName(),s.getSex(),s.getCno(),s.getAddr());
}
}
测试结果:
<%@page import="com.zhangguo.studentmis.dao.StudentService"%>
<%@page import="com.zhangguo.studentmis.entities.Student"%>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
//实例化学生服务对象
StudentService ss = new StudentService();
%>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<base href="<%=basePath%>">
<title>学生信息管理 - 查询</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body>
<h2>学生信息管理 - 查询</h2>
<table width="80%" border="1">
<tr>
<th>编号</th>
<th>姓名</th>
<th>性别</th>
<th>班级</th>
<th>籍贯</th>
</tr>
<%for (Student s : ss.getAll()) {%>
<tr>
<td><%=s.getId()%></td>
<td><%=s.getName() %></td>
<td><%=s.getSex()%></td>
<td><%=s.getCno()%></td>
<td><%=s.getAddr()%></td>
</tr>
<%}%>
</table>
</body>
</html>
运行结果:
add.jsp页面
<%@page import="com.zhangguo.studentmis.entities.Student"%>
<%@page import="com.zhangguo.studentmis.dao.StudentService"%>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
//请求编码设置为utf-8
request.setCharacterEncoding("utf-8");
//响应编码设置为utf-8
response.setCharacterEncoding("utf-8");
//学生服务
StudentService ss=new StudentService();
//封装学生对象
Student e=new Student();
e.setName(request.getParameter("name"));
e.setCno(request.getParameter("cno"));
e.setSex(request.getParameter("sex"));
e.setAddr(request.getParameter("addr"));
//消息
String m="";
//如果学生对象中存在数据
if(e.getName()!=null)
{
//执行添加
ss.add(e);
m="添加成功";
}
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>学员信息系统 - 添加</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body>
<h2>学员信息系统 - 添加</h2>
<form action="" method="post">
<p>
<label for="name">姓名:</label>
<input type="text" id="name" name="name" />
</p>
<p>
<label for="sex">性别:</label>
<input type="text" id="sex" name="sex" />
</p>
<p>
<label for="cno">班级:</label>
<input type="text" id="cno" name="cno" />
</p>
<p>
<label for="addr">籍贯:</label>
<input type="text" id="addr" name="addr" />
</p>
<button>提交</button>
<p>
<%=m %>
</p>
</form>
<p>
<a href="index.jsp">列表</a>
</p>
</body>
</html>
运行结果:
(1) 根据不同的平台完成业务逻辑与持久层功能单元测试,并提交测试代码。
(2) 按照标准格式编写详细的测试用例文档
(1) 针对完成的学生信息管理模块提交到svn版本库。
将开发完成的学生信息管理模块制作成为一个安装包
svn与JDBC下载:链接: https://pan.baidu.com/s/1kVzCwon 密码: 84k7