搭建ERP(抽取通用类)

1、在加入泛型抽取时,报错T.class报错

/* 
	 * 删除
	 */
	public void delete(Long uuid) {
		//让对象进入持久化状态
		T t = this.getHibernateTemplate().get(T.class, uuid);
		//执行删除操作
		this.getHibernateTemplate().delete(t);
	}

	/**
	 * 根据编号查询对象
	 */
	public T get(Long uuid) {
		return this.getHibernateTemplate().get(T.class, uuid);
	}

原因:由于T是泛型没有指明具体的类,故报错,在通用类在注入一个类属性即可!

2、在写basedao实现类时,由于没有指定具体的类,所以需要通过无参构造方法获取子类调用父类时传入的类,

    //添加无参构造
	public BaseDao() {
		//通过子类获取父类
		Type baseDaoClass = getClass().getGenericSuperclass();
		//转成参数化的类型
		ParameterizedType pType = (ParameterizedType)baseDaoClass;
		//获取参数类型的数组
		Type[] types = pType.getActualTypeArguments();
		//得到泛型里的T类型
		Type tagetType = types[0];
		//转成class类型
		entityClass = (Class<T>)tagetType;
	}

3、在dao实现类中的dao实现靠的是其子类实现,所以在子类继承BaseDao时,需要将类属性注入到父类(BaseDao)中

/**部门业务实现
 * @author Administrator
 *
 */
public class DepBiz<T> extends BaseBiz<Dep> implements IDepBiz {
	/**数据访问注入*/
	private IDepDao depDao;
	public IDepDao getDepDao() {
		return depDao;
	}
	public void setDepDao(IDepDao depDao) {
		this.depDao = depDao;
		super.setBaseDao(depDao);
	}
}

4、在前端抽取时因为dep的列属于私有,所以应该从js文件中提取出来

 

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值