现在的位置: 首页 > 综合 > 正文

泛型Dao

2017年12月27日 ⁄ 综合 ⁄ 共 1139字 ⁄ 字号 评论关闭

---泛型:
? 表示不确定的java类型。 
T  表示java类型。 
K V 分别代表java键值中的Key Value。 
E 代表Element。 
PK:     primary key
泛型的一个附带好处是,消除源代码中的许多强制类型转换。这使得代码更加可读,并且减少了出错机会。

该代码不使用泛型:
List li = new ArrayList();
li.put(new Integer(3));
Integer i =  (Integer) li.get(0);

该代码使用泛型:
List<Integer> li = new ArrayList<Integer>();
li.put(new Integer(3));
Integer i =  li.get(0);

---<T, PK extends Serializable>
http://blog.csdn.net/yao_qinwei/article/details/8246853

---泛型dao的实体注入setEntity()
/**
* public class LogDaoImpl extends BaseDaoImpl<SysLog>
* -->泛型Dao中的entity就是通过extends BaseDaoImpl<T>这里的"T",父类的构造注入的!!!
*/
private Class<T> clazz;


----SpringSide 泛型Dao:

https://code.google.com/p/permission/source/browse/trunk/+permission/BaseProject/src/com/mawujun/repository/SimpleHibernateDao.java?spec=svn708&r=708

https://code.google.com/p/springside/source/browse/springside4/trunk/modules/core/src/main/java/org/springside/modules/orm/hibernate/HibernateDao.java?r=1645

http://blog.csdn.net/fbysss/article/details/3980631

http://blog.csdn.net/jie8991/article/details/5373849

===DAO和Service的区别:
dao层是直接与数据库打交道的
service层是用来处理业务逻辑的,也就是需要调用dao层
两个层其实可以合二为一,但是为了分层方便,还是分开写

dao执行的一般都是原子的操作,只是获得数据库的值
service就不一样了,他获得相关的数据库的值计算啊,总之处理相关的业务

抱歉!评论已关闭.