MVC软件架构模式:
view视图层:负责与用户进行交互,界面显示
model模型层:业务处理,持久存储数据
contrl控制层:负责接收界面数据组装传给model处理,获取model层显示到界面。
bean类表示java实体:
1.所有属性私有化,
2.每个属性对应公共的get()和set()方法
3.可以定义多个构造方法
项目名称: 《班级管理系统》 英文:GradeMangerSystem
功能描术: 班级管理系统是对班级学生进行管理的一套系统,
具体包含学生管理、班级管理、学生选班、学生入班等功能.
要求:
1>.创建一个班级类Grade至少包含:班级名称(name)、编号(id),班级所有学生(students)三个属性;
在Grade类中封装班级管理功能: 创建班级(addGrade)、显示班级(showAllClass)、
显示班级所有学生(showAllStudentByGrade)
2>.创建学生类Student要求与学生信息管理系统相同.
3>.选择班级不存在时需给出提示。
3>.通过输入命令进行交互操作,控制台输出效果如下:
======= 欢迎进入班级管理系统! ======
=====【班级管理系统主界面】=======
1 班级管理, 2 学生管理, 3 退出
------------------1班级管理-----------------------------
<输入操作命令:>
1
======班级管理操作=========
1 创建班级, 2 显示班级, 3 查看班级学生, 4返回班级系统主界面
------------------1 创建班级-----------------------------
<输入操作命令:>
1
请输入班级名称:
java班
请输入班级编号:
1001
======添加成功 ! 班级名是 :Java班,编号是 : 1001=========
------------------2显示班级-----------------------------
<输入操作命令:>
2
班级 编号
java班 1001
IOS 1002
------------------3根据班级编号查看班级学生---------------------
<输入操作命令:>
3
请输入班级名称:
Java班
班级 学生 年龄 性别
java班 张三 23 男
java班 王二 24 男
java班 小明 23 男
------------------4返回班级系统主界面--------------------
<输入操作命令:>
4
=====【班级管理系统主界面】=======
1 班级管理, 2 学生管理, 3 退出
------------------2学生管理---------------------------
<输入操作命令:>
2
=====学生管理主界面========
1 添加学生, 2 显示学生 , 3 查找学生 , 4 返回班级系统主界面
------------------1添加学生---------------------------
<输入操作命令:>
1
请输入姓名:
小丽
请输入学号:
10
请输入年龄:
25
请输入性别:
女
请输入班级名称:
java班
======添加成功 ! 学生姓名是 :小丽,学号是 :10,选择班级是java班= ========
------------------2 显示学生----------------------------
<输入操作命令:>
2
姓名 学号 年龄 性别 班级
小明 10 23 男 java班
莉莉 21 24 女 IOS班
张三 11 19 男 java班
------------------3 查找学生----------------------------
<输入操作命令:>
3
请输入学生姓名:
莉莉
姓名 学号 年龄 性别 班级
莉莉 21 24 女 IOS班
------------------4返回班级系统主界面--------------------
<输入操作命令:>
4
=====【班级管理系统主界面】=======
1 班级管理, 2 学生管理, 3 退出
-------------------- 3 退出-------------------
<输入操作命令:>
3
==== 您已经退出《班级管理系统》 ====
package cn.sxb.day11;
import cn.sxb.day11.KeyBoardUtil;
import cn.sxb.day11.Student;
public class Student {
String name;
String gname;//班级编号
int number;
int age;
int sex;
public Student(String name, String gname, int number, int age, int sex) {
this.name = name;
this.gname = gname;
this.number = number;
this.age = age;
this.sex = sex;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGname() {
return gname;
}
public void setGname(String gname) {
this.gname = gname;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getSex() {
return sex;
}
public void setSex(int sex) {
this.sex = sex;
}
}
package cn.sxb.day11;
public class Grade {
String gradeName;
int gradeNumber;//班级编号
public Grade(String gradeName, int gradeNumber) {
this.gradeName = gradeName;
this.gradeNumber = gradeNumber;
}
}
package cn.sxb.day11;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class UtilDB {
private static final String URL = "jdbc:mysql://192.168.5.17:3306/db1606";
private static final String USER = "test";
private static final String PASSWORD = "123321";
/**
* 构造方法加载驱动
*/
public UtilDB() {
try {
Class.forName("com.mysql.jdbc.Driver");// 加载mysql驱动
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
/**
* 建立连接数据库
*/
public Connection getConnection() {
Connection connect = null;
try {
connect = DriverManager.getConnection(URL, USER, PASSWORD);// 试图建立到给定数据库URL的连接
// if (connect == null) {
// System.out.println("数据库连接失败");
// } else {
// System.out.println("数据库连接成功");
// }
} catch (SQLException e) {
e.printStackTrace();
}
return connect;
}
/**
* 关闭数据库连接
*/
public void closeConnection(Connection connect) {
try {
if (connect != null)
connect.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
package cn.sxb.day11;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class KeyBoardUtil {
/**
* 使用io流,获取从键盘输入到程序。使用Input(从外部设备到程序为输入,程序到外部设备为输出);
* System.in(out)标准系统输入输出中,不需要关闭流,由系统自动关闭。否则在后面测试类中会回报流关闭错误
*/
public static String getStringKeyBoard() {
String name = "";
InputStreamReader isr = null;
BufferedReader br = null;
try {
isr = new InputStreamReader(System.in);
br = new BufferedReader(isr);
name = br.readLine();
} catch (IOException e) {
e.printStackTrace();
}
return name;
}
public static int getintKeyBoard() {
while (true) {
int number = 0;
InputStreamReader isr = null;
BufferedReader br = null;
try {
isr = new InputStreamReader(System.in);
br = new BufferedReader(isr);
String s = br.readLine();// 在缓冲流中用readLine(),每行读成String型。在转换成int型
number = Integer.parseInt(s);
return number;
} catch (IOException e) {
e.printStackTrace();
} c