JAVA通用Dao接口和hibernate的具体实现
基于泛型的通用Dao接口:(重要是在应用hibernate或JPA时运用)
package com.qiujy.dao;
import java.io.Serializable;
import java.util.List;
/**
* 基于泛型的通用Dao接口
*/
public interface GenericDao {
void create(T entity);
void delete(T entity);
void update(T entity);
T findById(Serializable id);
List findAll();
List findList(int pageNo, int pageSize);
int getCountOfAll();
}
hibernate对此泛型Dao接口的运用:
package com.qiujy.dao.hibernate;
import java.io.Serializable;
import java.lang.reflect.ParameterizedType;
import java.util.List;
import org.hibernate.criterion.Projections;
import com.qiujy.common.HibernateUtil;
import com.qiujy.dao.GenericDao;
/**
* Hibernate对泛型通用Dao接口的兑现
*/
public class GenericHibernateDaoImpl implements GenericDao {
private Class clazz;
@SuppressWarnings("unchecked")
public GenericHibernateDaoImpl() {
//透过反照获取T的部类信息范例
this.clazz = (Class)((ParameterizedType)this.getClass().getGenericSuperclass())
.getActualTypeArguments()[零];
}
public void create(T entity) {
HibernateUtil.getSession().save(entity);
}
public void delete(T entity) {
HibernateUtil.getSession().delete(entity);
}
@SuppressWarnings("unchecked")
public void update(T entity) {
//HibernateUtil.getSession().saveOrUpdate(entity);
entity = (T) HibernateUtil.getSession().merge(entity);
}
@SuppressWarnings("unchecked")
public List findAll() {
return HibernateUtil.getSession().createCriteria(clazz).list();
}
@SuppressWarnings("unchecked")
public List findList(int pageNo, int pageSize) {
return HibernateUtil.getSession().createCriteria(clazz)
.setFirstResult((pageNo - 一) * pageSize)
.setMaxResults(pageSize)
.list();
}
public int getCoun
相关文档:
Java学习从入门到精通
一、 JDK (Java Development Kit)
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......
在北京呆了一个月多了,为了生存,笔记本电脑也贱卖了,不知道工作这么难找。
一个正经的面试也没有。
我从07年毕业已经浪费2年时间了,我愿意用半年的0薪酬来换取我入行开发;
希望北京有公司提供让我实现自我价值的平台。
如果您对我的能力有疑问,沟通可以了解 ......
第一,谈谈final, finally, finalize的区别。
最常被问到。
第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。
第四,&和&&的区别。
这个问得很少。
......
The
Java Console provides information about the Java Runtime Environment
(JRE) version, user home directory, and any error message that occurs
while running an applet or application. You can enable the Java Console
for the Linux platform.
......