import java.io.Serializable;
import java.util.List;
import com.ssh.common.Order;
//使用泛型,重用性更高
public interface IBaseDao<T>{
//保存对象
Serializable save(T t);
void saveOrUpdate(T t);
//删,根据对象
void delete(T t);
//删,根据多个
void deleteAll(List<T> t);
//删,通过id删除
void deleteById(Integer id);
//删,通过屬性删除
void deleteByPropertie(String name, String value);
//改
void update(T t);
//改
void update(List<T> list);
//查询全部
List<T> queryAll();
//查,通过名字获取对象
List<T> querybyProperties(String name, String value);
List<T> querybyProperties(String name, List<String> values);
List<T> querybyProperties(List<String> names, List<Object> values);
List<T> querybyProperties(List<String> names, List<Object> values, String orderBy, Order order);
//查,通过id获取对象
T queryById(Integer id);
//查,通过名字获取对象
T queryUnique(String name, String value);
}
<pre name="code" class="java">import java.io.Serializable;
import java.lang.reflect.ParameterizedType;
import java.util.Collection;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
public abstract class BaseDaoImpl<T> extends HibernateDaoSupport implements IBaseDao<T>{
//注入获取sessionFactory
&#