公共dao的结构

-----------》公共dao的结构

-----共用接口和共用实现类------------------
public interface BaseDao<E,ID extends Serializable> {}
public class BaseDaoImpl<E,ID extends Serializable> implements BaseDao<E,ID>{}

-------具体接口和具体实现类------------------
public interface MenuDao extends BaseDao<Menu, Integer> {}
public class MenuDaoImpl extends BaseDaoImpl<Menu, Integer> implements MenuDao {}

----------》具体具体代码(写了部分方法)
BaseDao.java
package com.xj.dao;

import java.io.Serializable;
import java.util.List;

public interface BaseDao<E,ID extends Serializable> {
/**
* 增加实体
* @param obj
*/
public abstract void addObject(E obj);

/**
* 删除实体
* @param obj
*/
public abstract void deleteObject(E obj);

/**
* 跟新实体
* @param obj
*/
public abstract void updateObject(E obj);

// public abstract Boolean checkObjectExistsWithName(String objName);

/**
*
* 根据id查找实体
*/
public abstract E queryObjectById(Class<E>clazz,ID id);

/**
* 根据条件查找所有实体
* @param queryStr
* @return
*/
public abstract List<E> queryObjects(String queryStr);

}


BaseDaoImpl.java
package com.xj.dao.impl;

import java.io.Serializable;
import java.util.List;

import javax.annotation.Resource;

import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.stereotype.Component;

import com.xj.dao.BaseDao;
@Component("baseDao")
public class BaseDaoImpl<E,ID extends Serializable> implements BaseDao<E,ID>{

private HibernateTemplate hibernateTemplate;

public HibernateTemplate getHibernateTemplate() {
return hibernateTemplate;
}

@Resource
public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
this.hibernateTemplate = hibernateTemplate;
}

@Override
public void addObject(E obj) {
hibernateTemplate.save(obj);
}

@Override
public void deleteObject(E obj) {
hibernateTemplate.delete(obj);
}

@Override
public void updateObject(E obj) {
hibernateTemplate.update(obj);
}


@Override
public E queryObjectById(Class<E> clazz,ID id) {
return hibernateTemplate.get(clazz, id);
}

@SuppressWarnings("unchecked")
@Override
public List<E> queryObjects(String queryStr) {
return hibernateTemplate.find(queryStr);
}

}


MenuDao.java
package com.xj.dao;

import com.xj.model.Menu;

public interface MenuDao extends BaseDao<Menu , Integer> {

}


MenuDaoImpl.java
package com.xj.dao.impl;

import org.springframework.stereotype.Service;

import com.xj.dao.MenuDao;
import com.xj.model.Menu;
@Service("menuDao")
public class MenuDaoImpl extends BaseDaoImpl<Menu, Integer> implements MenuDao {

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值