BaseDao

1.抽取接口的公共方法:
很多Dao都有公共的方法,定义一个BaseDao<T>写公共的方法,其他Dao继承BaseDao<T>
2.抽取实现类的公共方法:
很多DaoImpl里的实现都有共同的方法,定义一个BaseImpl<T>实现BaseDao<T>接口写公共实现方法,
其他DaoImpl继承BaseImpl<T>,并实现自己的Dao接口
3.写实现类中的方法内容:
在BaseImpl<T>里写公共方法的实现,一般为常用的增删改查
4.解决拿class的问题:因为不同DaoImpl里的类不同,因此class不同
方法:使用反射技术得到T的真实类型
public BaseDaoImpl() {

// 使用反射技术得到T的真实类型

// 获取当前new的对象的 泛型的父类 类型
ParameterizedType pt = (ParameterizedType) this.getClass().getGenericSuperclass();
// 获取第一个类型参数的真实类型
this.clazz = (Class<T>) pt.getActualTypeArguments()[0];
System.out.println("clazz ---> " + clazz);
}

你可能感兴趣的:(BaseDao)