sistema de gestión curricular

sistema de gestión curricular

Para desarrollar el uso de Servicio-Dao

  • estructura de paquete de la figura

  1. categoría del dominio incluye la lección

    public class Lesson {
    	private String LensonName;
    	private String LessonLoc;
    	private String LessonTime;
    	public Lesson(){
    		
    	}
    	public Lesson(String LN,String LL,String LT){
    		this.LensonName = LN;
    		this.LessonLoc = LL;
    		this.LessonTime = LT;
    	}
    	public String getLensonName() {
    		return LensonName;
    	}
    	public void setLensonName(String lensonName) {
    		LensonName = lensonName;
    	}
    	public String getLessonLoc() {
    		return LessonLoc;
    	}
    	public void setLessonLoc(String lessonLoc) {
    		LessonLoc = lessonLoc;
    	}
    	public String getLessonTime() {
    		return LessonTime;
    	}
    	public void setLessonTime(String lessonTime) {
    		LessonTime = lessonTime;
    	}
    	@Override
    	public String toString(){
    		return LensonName+","+LessonLoc+","+LessonTime;
    	}
    	
    }
    
  2. servicio incluye LessonService y LessonServiceImpl

    public interface LessonService {
    	
    	public Lesson findLessonByName(String name);
    	public boolean addLesson(Lesson l);
    	public boolean delLessonByName(String name);
    	public boolean updateLesson(Lesson pre_lesson,Lesson l);
    	public void showAllLesson();
    	public void update();
    }
    
    
    public class LessonServiceImpl implements LessonService{
    	private LessonDao ld;
    	public LessonServiceImpl(){
    		ld = new LessonDaoImpl();
    	}
    	@Override
    	public Lesson findLessonByName(String name) {
    		return ld.findLessonByName(name);
    	}
    
    	@Override
    	public boolean addLesson(Lesson l) {
    
    		return ld.addLesson(l);
    	}
    
    	@Override
    	public boolean delLessonByName(String name) {
    		return ld.delLessonByName(name);
    	}
    
    	@Override
    	public boolean updateLesson(Lesson pre_lesson, Lesson l) {
    		return ld.updateLesson(pre_lesson, l);
    	}
    
    	@Override
    	public void showAllLesson() {
    		ld.showAllLesson();
    	}
    	@Override
    	public void update() {
    		ld.update();
    	}
    
    }
    
  3. capa de Dao

    public interface LessonDao {
    	public Lesson findLessonByName(String name);
    	public boolean addLesson(Lesson l);
    	public boolean delLessonByName(String name);
    	public boolean updateLesson(Lesson pre_lesson,Lesson l);
    	public void showAllLesson();
    	public void update();
    }
    
    public class LessonDaoImpl implements LessonDao {
    	private List<Lesson> ls;
    	private File file;
    	public LessonDaoImpl(){
    		ls = new ArrayList<Lesson>();
    		file = new File("lesson.txt");
    		init();
    		
    	}
    	
    	private void init() {
    		try{
    			BufferedReader br = new BufferedReader(new FileReader(file));
    			String tmp;
    			while((tmp = br.readLine())!=null){
    				String[] s = tmp.split(",");
    				ls.add(new Lesson(s[0], s[1], s[2]));
    			}
    			br.close();
    			
    		}catch(Exception r){
    			r.printStackTrace();
    		}
    	}
    
    	@Override
    	public Lesson findLessonByName(String name) {
    		for(Lesson lesson: ls){
    			if(lesson.getLensonName().equals(name))
    				return lesson;
    		}
    		System.out.println("该节课不存在!");
    		return null;
    	}
    
    	@Override
    	public boolean addLesson(Lesson l) {
    		ls.add(l);
    		System.out.println("添加成功!");
    		try{
    			BufferedWriter bw = new BufferedWriter(new FileWriter(file,true));
    			bw.write(l.toString()+"\n");
    			bw.close();
    		}catch(Exception e){
    			e.printStackTrace();
    		}
    		return true;
    	}
    
    	@Override
    	public boolean delLessonByName(String name) {
    		for(int i = 0;i<ls.size();i++){
    			if(ls.get(i).getLensonName().equals(name)){
    				ls.remove(i);
    				System.out.println("已删除!");
    				return true;
    			}
    		}
    		System.out.println("未找到该用户!");
    		return false;
    	}
    
    	@Override
    	public boolean updateLesson(Lesson pre_lesson, Lesson l) {
    		Lesson tmp = findLessonByName(pre_lesson.getLensonName());
    		tmp.setLensonName(l.getLensonName());
    		tmp.setLessonLoc(l.getLessonLoc());
    		tmp.setLessonTime(l.getLessonTime());
    		System.out.println("删除成功!");
    		return true;
    	}
    
    	@Override
    	public void showAllLesson() {
    		FileUtil.ListSort(ls);
    		for(Lesson l:ls){
    			System.out.println(l.toString());
    		}
    	}
    
    	@Override
    	public void update() {
    		try {
    			file.delete();
    			file.createNewFile();
    			BufferedWriter bw = new BufferedWriter(new FileWriter(file,true));
    			for(int i = 0;i<ls.size();i++){
    				bw.write(ls.get(i).toString()+"\n");
    			}
    			bw.close();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    		
    	}
    
    }
    
  4. clase FileUtil

    public class FileUtil {
    	public static void ListSort(List<Lesson> list) {
            Collections.sort(list, new Comparator<Lesson>() {
                @Override
                public int compare(Lesson o1, Lesson o2) {
                    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
                    try {
                        Date dt1 = format.parse(o1.getLessonTime());
                        Date dt2 = format.parse(o2.getLessonTime());
                        if (dt1.getTime() > dt2.getTime()) {
                            return 1;
                        } else if (dt1.getTime() < dt2.getTime()) {
                            return -1;
                        } else {
                            return 0;
                        }
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return 0;
                }
            });
        }
    }
    
  5. clase de prueba

    public class MainTest {
    	public static void main(String[] args) {
    		LessonService ls = new LessonServiceImpl();		
    		int op = -1;
    		Scanner s = new Scanner(System.in);
    		while(op!=0){
                System.out.println("课程表系统");
                System.out.println("---------------------------------------");
                System.out.println("1.添加新课程");
                System.out.println("2.显示所有课程");
                System.out.println("3.根据名称删除课程");
                System.out.println("4.更新课程");
                System.out.println("0.结束!");
                System.out.println("---------------------------------------");
                System.out.println("请选择序号:");
                op = s.nextInt();
                
                if(op==1){
                	System.out.println("请输入课程名:");
                	String name = s.next();
                	
                	System.out.println("请输入教室:");
                	String Loc = s.next();
                	
                	System.out.println("请输入时间 yyyy-mm-dd:");
                	String time = s.next();
                	
                	Lesson tmp = new Lesson(name, Loc, time);
                	ls.addLesson(tmp);
                }else if(op == 2){
                	ls.showAllLesson();
                }else if(op == 3){
                	System.out.println("请输入要删除的课程名:");
                	String name = s.next();
                	ls.delLessonByName(name);
                }else if(op == 4){
                	System.out.println("请输入要修改的课程名:");
                	String pre_name = s.next();
                	Lesson pre_lesson = ls.findLessonByName(pre_name);
                	System.out.println("请输入新的名称:");
                	String new_name = s.next();
                	System.out.println("请输入新的地点:");
                	String new_loc = s.next();
                	System.out.println("请输入新的时间:");
                	String new_time = s.next();
                	Lesson new_lesson = new Lesson(new_name, new_loc, new_time);
                	ls.updateLesson(pre_lesson, new_lesson);
                }else if(op == 0){
                	ls.update();
                }
    		}
    		s.close();
    		
    	}
    }
    

Supongo que te gusta

Origin www.cnblogs.com/lvgj/p/12588088.html
Recomendado
Clasificación