java标准增删改查(DAO)
定义类和类名:
private Class<T> entityClass;
protected String entityClassSimpleName;
public GenericHibernateDAOImpl(){
this.entityClass = (Class<T>)((ParameterizedType)getClass().getGenericSuperclass())
.getActualTypeArguments()[0];
this.entityClassSimpleName = entityClass.getSimpleName();
}
删除:
public void delete(T t) {
getHibernateTemplate().delete(t);
}
修改:
public void update(T t) {
getHibernateTemplate().update(t);
}
读取:
(延迟加载)
public T load(ID id) {
return (T)getHibernateTemplate().load(getEntityClass(), id);
}
(立即加载)
public T get(ID id) {
return (T)getHibernateTemplate().get(getEntityClass(), id);
}
查询全部:
public List<T> findAll() {
return getHibernateTemplate().find("from " + entityClassSimpleName);
}
保存并更新:
public void saveOrUpdate(T t) {
getHibernateTemplate().saveOrUpdate(t);
}
保存:
public void save(T t) {
getHibernateTemplate().save(t);
}