public interface BaseDao<T> {
T get(String id);
}
 import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type; public abstract class HibernateBaseDao<T> implements BaseDao<T> {
private Class<T> entityClass; /**
* 这个通常也是hibernate的取得子类class的方法
*
* @author "yangk"
* @date 2010-4-11 下午01:51:28
*/
public HibernateBaseDao() {
Type genType = getClass().getGenericSuperclass();
Type[] params = ((ParameterizedType) genType).getActualTypeArguments();
entityClass = (Class) params[0];
} @Override
public T get(String id) {
try {
return entityClass.newInstance();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
} }

14-16行是重点,entityClass即为Class,也就是T.class

本文参考:http://blog.csdn.net/ykdsg/article/details/5472591

最新文章

  1. ASP.NET点击按钮弹出确认对话框方法
  2. DataGridViewComboBoxColumn值无效
  3. JMX超详细解读
  4. sql学习资料
  5. LintCode &quot;Count of Smaller Number before itself&quot;
  6. css中的border还可以这样玩
  7. C#扫盲之:==/Equals /ReferenceEquals 异同的总结,相等性你真的知道吗?
  8. 获取datagrid中编辑列combobox的value值与text值
  9. hadoop各版本下载
  10. [HDU] 1068 Girls and Boys(二分图最大匹配)
  11. Sharepoint2010 通过 WebFeature 修改web.config
  12. android 应用程序框架
  13. Android插件化-RePlugin项目集成与使用
  14. python3全栈开发-多进程的守护进程、进程同步、生产者消费者模式(重点)
  15. datalist 分页
  16. kvm虚拟机网络管理
  17. java中super关键字的作用
  18. B - Big Event in HDU
  19. JVM 之类加载
  20. JAVA中的责任链模式(CH02)

热门文章

  1. SpringMVC(2)—SpringMVC整合Spring的HelloWorld
  2. Creating a NuGet Package in 7 easy steps - Plus using NuGet to integrate ASP.NET MVC 3 into existing Web Forms applications
  3. spring跨域问题
  4. XSplit Quality, VBV-Buffer, VBV-Maxrate and Preset Settings
  5. Mac本地环境配置以及安装织梦CMS,增加新的坑解决办法
  6. spring boot 中添加mongodb支持
  7. SpringCloud无废话入门05:Spring Cloud Gateway路由、filter、熔断
  8. webpack Import 动态文件
  9. Map network drive遇到报错&ldquo;The network folder specified is currently mapped using a different user name and password&rdquo;,怎么办?
  10. js-将一个对象转换成一个新的对象