网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
(1)类需要实现Serializable序列化接口
package com.tianju.older.entity;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.io.Serializable;
import java.util.Date;
import java.util.Objects;
@Setter@Getter
@AllArgsConstructor
@NoArgsConstructor
public class Older implements Serializable { // 实现序列化接口
private String id;
private String name;
private Integer age;
private Date inDate;
@Override
public String toString() {
return "Older[" +
"id='" + id + '\'' +
", name='" + name + '\'' +
", age=" + age +
", inDate=" + inDate +
']';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Older older = (Older) o;
return Objects.equals(id, older.id);
}
@Override
public int hashCode() {
return Objects.hash(id);
}
}
(2)dao层的接口和实现分离
接口:
package com.tianju.older.dao;
import com.tianju.older.entity.Older;
import java.util.List;
/\*\*
\* Older的dao类
\*/
public interface IOlderDao {
// 保存老人信息
void save(Older older);
// 删除老人信息
void delete(Older older);
// 更新老人信息
void update(Older older);
// 根据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 ja