
 定义一个泛型类DAO
 __ 分别创建以下方法:
 public void save(String id,T entity):保存 T 类型的对象到Map成员变量中。
 _ public T get(String id):从map中获取id对应的对象。
 _ public void update(String id,T entity):替换map中key为id的内容,改为entity对象
 _ public List
 _ public void delete(String id):删除指定id对象
**
* 定义一个User类:
* 该类包含:private成员变量(int类型) id,age;(String 类型)name。
*
 创建DAO类的对象,分别调用其save、get、update、list、delete方法来操作User对象,
 使用Junit_单元测试类进行测试。
package com.atguigu.exercise;import java.util.*;/*** 定义一个泛型类DAO<T>,在其中定义一个Map成员变量,Map的键为String类型,值为T类型。* <p>* 分别创建以下方法:* public void save(String id,T entity):保存 T 类型的对象到Map成员变量中。* <p>* public T get(String id):从map中获取id对应的对象。* <p>* public void update(String id,T entity):替换map中key为id的内容,改为entity对象* <p>* public List<T> list():返回map中存放的所有 T 对象* <p>* public void delete(String id):删除指定id对象** @author Dxkstart* @create 2021-05-28 20:10*/public class DAO<T> {private Map<String, T> map = new HashMap<>();//保存 T 类型的对象到Map成员变量中。public void save(String id, T entity) {map.put(id, entity);}//从map中获取id对应的对象。public T get(String id) {return map.get(id);}//替换map中key为id的内容,改为entity对象public void update(String id, T entity){if(map.containsKey(id)){map.put(id,entity);}}//返回map中存放的所有 T 对象public List<T> list(){ArrayList<T> list = new ArrayList<>();Collection<T> values = map.values();for(T t: values){System.out.println(t);}return list;}//删除指定id对象public void delete(String id){map.remove(id);}}
package com.atguigu.exercise;/*** 定义一个User类:* 该类包含:private成员变量(int类型) id,age;(String 类型)name。*** @author Dxkstart* @create 2021-05-28 20:37*/public class User {private int id;private int age;private String name;public User() {}public int getId() {return id;}public void setId(int id) {this.id = id;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public User(int id, int age, String name) {this.id = id;this.age = age;this.name = name;}@Overridepublic String toString() {return "User{" +"id=" + id +", age=" + age +", name='" + name + '\'' +'}';}@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;User user = (User) o;if (id != user.id) return false;if (age != user.age) return false;return name != null ? name.equals(user.name) : user.name == null;}@Overridepublic int hashCode() {int result = id;result = 31 * result + age;result = 31 * result + (name != null ? name.hashCode() : 0);return result;}}
package com.atguigu.exercise;import java.util.List;/*** 创建DAO类的对象,分别调用其save、get、update、list、delete方法来操作User对象,* 使用Junit单元测试类进行测试。*** @author Dxkstart* @create 2021-05-28 20:44*/public class DAOTest {public static void main(String[] args) {DAO<User> dao = new DAO<User>();dao.save("1001",new User(1001,34,"周杰轮"));dao.save("1002",new User(1002,21,"邓紫棋"));dao.save("1003",new User(1003,24,"泰勒斯威夫特"));dao.update("1001",new User(1001,20,"蔡萝莉"));dao.delete("1001");List<User> list = dao.list();list.forEach(System.out::println);}}
