Java程序设计第2版教学案例1.docx
- 文档编号:29187869
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:12
- 大小:77.83KB
Java程序设计第2版教学案例1.docx
《Java程序设计第2版教学案例1.docx》由会员分享,可在线阅读,更多相关《Java程序设计第2版教学案例1.docx(12页珍藏版)》请在冰豆网上搜索。
Java程序设计第2版教学案例1
学生管理系统-阶段项目1
第一部分案例描述
案例目的
学习使用JAVA+JDBC对数据库的数据进行增加、修改、删除、查询等操作;学习JDBC调用存储过程;学习主要数据库操作对象Connection、Statement、PreparedStatement、ResultSet的使用。
案例难度
★★★
案例覆盖技能点
1、使用JDBC操作sqlserver2005数据库
2、常用数据库操作对象的使用
3、ArrayList和Vector的使用
4、加深对集合框架的理解
5、异常的处理
6、scanner的使用
推荐案例完成时间
5天
适用课程和对象
JAVA面向对象编程基础
第二部分需求和开发环境
使用技术和开发环境
JAVA、MyEclipse6.0或以上、JDK5.0或以上
案例需求
用户需要我们设计一个学生管理系统,要求登录后可以实现对学员的增加和查询的功能,并提供良好的操作界面。
经过分析系统的需求,抽象出管理员实体、学生实体,从管理员实体中抽象出来的数据有用户名和密码,从学生实体中抽象出来的数据有学生Id,学生姓名,出生日期,电话,地址。
系统基本模块包括:
功能点
难度
登录
★★
添加学生
★★★★
查看所有学生
★★★★
删除学生
★★★★
修改学生
★★★★
界面类
★★★
功能点介绍
1、根据题目要求自行设计相对应的数据库。
2、现要求设计管理员Admin类和学生Student类来存储相应信息,分别要提供一个缺省的和带参数的构造函数来获取数据,同时不能打破面向对象的封装特性。
当管理员正确登录之后才能进行下一步操作。
为学生类添加toString()的方法,toString()方法内容是将字段连接成一个字符串,然后返回。
3、选择1-5相应的选项之后,显示的界面效果图如下:
4、打包要求:
a)com.sdsc.stumanager.dao:
存放有关数据库操作的类及方法
b)com.sdsc.stumanager.entity:
存放系统中出现的实体
c)com.sdsc.stumanager.tools:
工具类Tools,把方法改成static的,且把之前程序中的打印输出全都换成当前类的方法调用
d)com.sdsc.stumanager.view:
设计一个界面类,用于创建登录界面、主界面、添加界面、显示所有界面设计
第三部分推荐实现步骤及参考代码
1、使用SQLServer2005创建数据库StudentManager,包含admin和student两张表。
Id编号为主键、自增长
Id编号为主键、自增长
2、使用MyEclipse创建Java项目
3、创建com.sdsc.stumanager.entity包,用于存放系统中出现的实体,要求设计管理员Admin类和学生Student类来存储相应信息,分别要提供一个缺省的和带参数的构造函数来获取数据,同时不能打破面向对象的封装特性(属性设置为私有,对应属性提供公共的setter/getter方法)。
并为学生类添加toString()的方法,toString()方法内容是将字段连接成一个字符串,然后返回。
publicclassStudent{
privateintstuId;//学生编号
privateStringstuName;//学生姓名
…………………….//自己添加剩余属性
//构造方法
publicStudent(){
}
publicStudent(intstuId,StringstuName,StringstuBirthday,
StringstuPhone,StringstuAddress){
this.stuId=stuId;
…………………….//自己添加剩余代码
}
//公共的setter/getter方法
publicintgetStuId(){
returnstuId;
}
publicvoidsetStuId(intstuId){
this.stuId=stuId;
}
…………………….//自己添加剩余代码
//学生类的toStudent方法
publicStringtoString(){
StringstuStr="学号:
"+stuId+"\n"+"姓名:
"+stuName+"\n"+"出生日期:
"…………………….//自己添加剩余代码
returnstuStr;
}
}
4、创建com.sdsc.stumanager.dao包,建立BaseDao类作为数据库辅助类,存放有关数据库连接、关闭的方法。
publicclassBaseDao{
privateStringdriverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
privateStringurl="jdbc:
sqlserver:
//localhost:
1433;DataBaseName=StudentManager";
privateStringuid="sa";
privateStringpwd="123456";
//连接数据库的方法
publicConnectiongetConnection(){
Connectionconn=null;
…………………….//自己添加剩余代码,获得数据库连接
returnconn;
}
//释放资源的方法
publicvoidcloseAll(Connectionconn,PreparedStatementps,ResultSetrs){
try{
…………………….//自己添加剩余代码,实现资源的释放
}catch(SQLExceptione){
e.printStackTrace();
}
}
}
5、在com.sdsc.stumanager.dao包中创建AdminDao类,用于进行管理员身份的验证。
publicclassAdminDaoextendsBaseDao{
/**
*验证管理员的用户名和密码
*@paramusername用户名
*@parampassword密码
*@returntrueorfalse
*/
publicbooleancheckAdmin(Stringusername,Stringpassword){
booleanflag=false;
…………………….//自己添加剩余代码,连接数据库,进行管理员身份的验证
returnflag;
}
}
6、在com.sdsc.stumanager.dao包中创建StudentDao类,用于实现增加学生、查询全部学生、修改学生信息、删除学生的操作。
publicclassStudentDaoextendsBaseDao{
Connectionconn=null;
PreparedStatementps=null;
ResultSetrs=null;
//增加学生信息的方法
publicintaddStudent(Studentstu){
//获得驱动程序
conn=super.getConnection();
try{
//创建SQL语句
Stringsql="………..";
//创建执行对象
ps=conn.prepareStatement(sql);
//根据情况完善SQL语句
ps.setInt(1,stu.getStuId());
………
//执行更新操作
num=ps.executeUpdate();
}catch(SQLExceptione){
………//异常处理
}finally{
………//释放资源
}
returnnum;
}
//查看所有学生信息的方法
publicArrayList
//创建学生集合
//创建学生类对象
try{
//构造SQL语句
//执行查询,得到结果集
//对结果集进行遍历
while(rs.next()){
//实例化学生对象
//利用set方法对学生对象进行赋值
//将学生对象添加到集合中
}
}catch(SQLExceptione){
………//异常处理
}finally{
………//释放资源
}
//返回学生集合
}
//根据学号查找学生信息
publicintsearchByID(intID){}
//更新学生信息的方法
publicintupdateStudent(Studentstu){}
//根据学号删除学生信息
publicintdeleteByID(intID){}
}
7、创建com.sdsc.stumanager.tools包,在其中创建工具类Tools,把方法改成static的,用于在打印输出信息时使用。
其功能包括输出单个字符串以及输出集合中的学生信息。
如图所示:
publicclassTools{
………………
//打印学生信息
publicvoidprint(ArrayList
…………………//遍历集合打印所有内容
}
}
8、创建com.sdsc.stumanager.view:
设计一个界面类,用于创建登录界面、主界面、添加界面、显示所有界面设计。
每个界面的输出设置成单独的方法。
publicclassStuManagerCUI{
Scannerinput=newScanner(System.in);
Toolst=newTools();
//登录验证的方法
publicbooleanloginCUI(){
//用户名、密码验证3次仍不正确,退出系统
}
//进入主界面的方法
publicvoidmainCUI(){
Stringtag="";
intchoice=0;
while(!
tag.equals("5")){
System.out.println("\n");
System.out.println("\t学生管理系统主界面");
System.out.println("1.添加学生");
System.out.println("2.查看所有学生");
System.out.println("3.删除学生");
System.out.println("4.修改学生信息");
System.out.println("5.退出系统");
System.out.print("请选择(1-5):
");
tag=input.next();
choice=Integer.parseInt(tag);
switch(choice){
case1:
//增加学生信息
case2:
//查看所有学生信息
case3:
//更新学生信息
case4:
//删除学生信息
case5:
//退出系统
t.println("退出系统,谢谢使用");
System.exit(0);
}
}
}
//增加学生信息
publicvoidaddStudentCUI(){
…………………//显示增加学生信息界面
}
//查看学生全部信息
publicvoidselectStudentCUI(){
…………………//输出学生信息列表
}
//更新学生信息
publicvoidupdateStudentCUI(){
…………………//显示更新学生信息界面
}
//删除学生信息
publicvoiddeleteStudentCUI(){
…………………//显示删除学生信息界面
}
//检查当前学生是否存在
publicbooleancheckStuByID(intID){
…………………//通过学号检测学生信息是否存在
}
}
9、完成具体代码,进行调试、测试。
第四部分考核评价点
序号
功能列表
功能描述
分数
说明
1
登录
必做
2
添加学生
必做
3
查看所有学生
必做
4
删除学生
必做
5
修改学生
必做
6
界面类
必做
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 程序设计 教学 案例