zoukankan      html  css  js  c++  java
  • 持久层抽取之类名的获取

    package com.hdh.bos.dao.base.impl;
    
    import java.io.Serializable;
    import java.lang.reflect.ParameterizedType;
    import java.lang.reflect.Type;
    import java.util.List;
    
    import org.hibernate.Hibernate;
    import org.springframework.orm.hibernate3.HibernateTemplate;
    import org.springframework.orm.hibernate5.support.HibernateDaoSupport;
    
    import com.hdh.bos.dao.base.BaseDao;
    
    public class BaseDaoImpl<T> extends HibernateDaoSupport implements BaseDao<T> {
    
        private Class<T> entityClass;
        
    
        public BaseDaoImpl(Class<T> entityClass) {
            //获取BaseDaoImpl<T> 的T类型
            ParameterizedType Superclass = (ParameterizedType) this.getClass().getGenericSuperclass();
            Type[] actualTypeArguments = Superclass.getActualTypeArguments();
            entityClass=(Class<T>) actualTypeArguments[0];
            
        }
    
        @Override
        public void save(T entity) {
            getHibernateTemplate().save(entity);
        }
    
        @Override
        public void delete(T entity) {
            getHibernateTemplate().delete(entity);
    
        }
    
        @Override
        public void update(T entity) {
            getHibernateTemplate().update(entity);
    
        }
    
        @Override
        public T fingById(Serializable id) {
    
            return getHibernateTemplate().get(entityClass, id);
        }
    
        @Override
        public List<T> findAll() {
            String hql = "FROM " + entityClass.getName();
            return (List<T>) getHibernateTemplate().find(hql);
        }
    
    }
  • 相关阅读:
    MicroStation VBA 操作提示
    MicroStation VBA 可视化界面
    VBA 操作数字
    MicroStation VBA基础
    C#问题
    C#复习⑨(附带C#参考答案仅限参考)
    C#复习⑧
    C#复习⑦
    C#复习⑥
    C#复习⑤
  • 原文地址:https://www.cnblogs.com/asndxj/p/10659415.html
Copyright © 2011-2022 走看看