博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
泛型的应用
阅读量:5924 次
发布时间:2019-06-19

本文共 1034 字,大约阅读时间需要 3 分钟。


tags: Java基础


当我们写网页的时候,常常会有多个DAO,我们要写每次都要写好几个DAO,这样会有点麻烦。

那么我们想要的效果是什么呢??只写一个抽象DAO,别的DAO只要继承该抽象DAO,就有对应的方法了。

要实现这样的效果,肯定是要用到泛型的。因为在抽象DAO中,是不可能知道哪一个DAO会继承它自己,所以是不知道其具体的类型的。而泛型就是在创建的时候才指定其具体的类型。

  • 抽象DAO
public abstract class BaseDao
{ //模拟hibernate.... private Session session; private Class clazz; //哪个子类调的这个方法,得到的class就是子类处理的类型(非常重要) public BaseDao(){ Class clazz = this.getClass(); //拿到的是子类 ParameterizedType pt = (ParameterizedType) clazz.getGenericSuperclass(); //BaseDao
clazz = (Class) pt.getActualTypeArguments()[0]; System.out.println(clazz); } public void add(T t){ session.save(t); } public T find(String id){ return (T) session.get(clazz, id); } public void update(T t){ session.update(t); } public void delete(String id){ T t = (T) session.get(clazz, id); session.delete(t); } }复制代码
  • 继承抽象DAO,该实现类就有对应的增删改查的方法了。

CategoryDao

public class CategoryDao extends BaseDao
{}复制代码

BookDao

public class BookDao extends BaseDao
{}复制代码

如果您觉得这篇文章帮助到了您,可以给作者一点鼓励

转载地址:http://doavx.baihongyu.com/

你可能感兴趣的文章
JPA:detached entity passed to persist
查看>>
RedHat Enterprise Linux 7下安装 Oracle 12C
查看>>
富士施乐c1110B检测软件SM
查看>>
Office365 分配管理员角色
查看>>
博文批量发布工具使用说明
查看>>
Active Directory还原工具之四ADRecycleBIN
查看>>
一起学Shell之(二)输出以及其它
查看>>
Windows Server 2008 R2 之十九Bcdedit的使用
查看>>
[转] SqlServe到PG迁移错误:无效的编码序列"UTF8": 0x00
查看>>
Nginx + nagios +perl fcgi 取缔apache
查看>>
Puppet扩展篇1-自定义fact结合ENC(hirea)的应用实践
查看>>
《从零开始学Swift》学习笔记(Day 20)——函数中参数的传递引用
查看>>
脚本监控网络状态,输出日志并归档(V2)
查看>>
轻量级HTTP服务器Nginx(Nginx日常维护)
查看>>
Android系统的开机画面显示过程分析(1)
查看>>
7.VMware vsphere 5.0新体验-备份
查看>>
组建高效快速研发团队的必要角色
查看>>
基于Windows Media Service的流媒体直播系统
查看>>
linux下和windows下如何防止php木马
查看>>
SQL2K数据库开发八之表操作创建主键
查看>>