网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
// 根据id找老人信息
Older findById(String id);
// 找到全部老人信息
List<Older> findAll();
// 保存到文件的方法
void saveToFile();
// 从文件中读取成老人类的方法
List<Older> loadFromFile();
}
实现:
package com.tianju.older.dao.impl;
import com.tianju.older.dao.IOlderDao;
import com.tianju.older.entity.Older;
import com.tianju.older.exception.NotFoundOlderException;
import com.tianju.older.util.Config;
import org.apache.log4j.Logger;
import java.io.*;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Objects;
public class OlderDaoImpl implements IOlderDao {
List list = null;
// 如果读取到的loadFromFiLe不为null,则赋值给list;
// 否则new 出来
public OlderDaoImpl() {
List<Older> olders = loadFromFile();
if (Objects.isNull(olders)){
list = new ArrayList<>(20);
}else {
list = olders;
}
}
@Override
public void save(Older older) {
list.add(older);
Logger.getLogger(this.getClass()).info("addOlder: " + older);
saveToFile();
}
@Override
public void delete(Older older) {
// 先看能不能找到
Older find = findById(older.getId());
// 如果找到,删除;没找到,抛出异常,并记录日志
if (Objects.isNull(find)){
throw new NotFoundOlderException("404异常,该老人信息不存在,未删除");
}
Logger.getLogger(this.getClass()).info("deleteOlder: " + find);
list.remove(older);
saveToFile(); // 文件更新
}
@Override
public void update(Older older) {
// 找到index,用set方法更新
Older find = findById(older.getId()); // 根据ID定位老人
if (Objects.isNull(find)){
throw new NotFoundOlderException("404异常,该老人信息不存在,无法修改");
}
// 记录日志信息
Logger.getLogger(this.getClass()).info("beforeUpdate: " + find);
int index = list.