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);
        }
    
    }
  • 相关阅读:
    js返回上个页面再刷新
    xm-select 获取选选择的值
    接口可以跨域访问
    gitlab 版本查看
    gitlab 在linux安装环境下存储地址
    iosUILable基本使用及其所有方法
    iOS富文本字符串AttributedString具体用法
    SQL Server 开发指南
    SQL Server 数据库安全
    SQL Server 触发器
  • 原文地址:https://www.cnblogs.com/asndxj/p/10659415.html
Copyright © 2011-2022 走看看