public abstract class BaseDao<T> {
@Autowired
private SessionFactory sessionFactory;
public Session getCurrentSession() {
return sessionFactory.getCurrentSession();
}
<strong><span style="color:#ff0000;">//注意这里这个类型的写法</span></strong>
private Class entityClass;
public BaseDao(Class<T> entityClass) {
this.entityClass = entityClass;
}
public List<T> findAll() throws DataAccessException {
return getCurrentSession().createCriteria(entityClass).list();
}
public T find(String id) {
return (T) getCurrentSession().get(entityClass, id);
}
public void create(T t) {
getCurrentSession().save(t);
}
public void update(T t) {
getCurrentSession().update(t);
}
public void delete(T t) {
getCurrentSession().delete(t);
}
public void flush() {
getCurrentSession().flush();
}
}
子类继承该类,实现该类
/**
* Created by veryyoung on 2015/3/3.
*/
@Repository
public class UserDao extends BaseDao<User> {
public UserDao() {
super(User.class);
}