把之前的学生管理系统,改造成三层架构的形式
三层架构即:
视图层,通常用于与用户交互,收集用户输入的信息,展示信息
业务层,通常做业务逻辑处理
持久层,通常只做与数据增删改查相关的操作
对应的包结构就是
视图层 controller
业务层 service
持久层 dao
外加 domain 存放模型类、entry 程序入口、utils 工具类
先来entry写程序入口
顺便把这个管理系统升级成携带老师管理的信息管理系统
以学生管理系统为例,主要介绍,老师管理系统同学生管理系统一样实现
因为controller是用于与用户交互的
所以main方法调用StudentController对象的start方法,进入学生管理系统部分
public class InfoManagerEntry {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("--------欢迎来到信息管理系统--------");
System.out.println("请输入您的选择: 1.学生管理 2.老师管理 3.退出");
String choice = sc.next();
switch (choice) {
case "1":
//System.out.println("学生管理");
StudentController studentController = new StudentController();
studentController.start();
break;
case "2":
//System.out.println("老师管理");
new TeacherController().start();
break;
case "3":
System.out.println("感谢您的使用");
System.exit(0); // 退出当前运行的JVM虚拟机
break;
default:
System.out.println("您的输入有误 请重新输入");
break;
}
}
}
}
在domain中创建Student类
包含几个简单字段,并带有get/set方法,以及无参和有参构造方法
public class Student {
private String id; // 学号
private String name; // 姓名
private int age; // 年龄
private String birthday; // 生日
public Student() {
}
public Student(String id, String name, int age, String birthday) {
this.id