基于hibernate的通用、”万能“Dao的设计(四)

万能Dao,应该说绝大多数情况下,它就能提供足够多的操作数据库的功能。
@Repository
public class UniversalDao extends BaseDao {

/**
*
* @param o 保存实体对象
* @return 主键
*/
public Serializable save(Object o) {
return this.getSession().save(o);
}
/**
* 新增或者更新
*
* @param o
*/
public void saveOrUpdate(Object o) {
this.getSession().saveOrUpdate(o);
}

/**
* 更新
*
* @param o
*/
public void update(Object o) {
this.getSession().update(o);
}
/**
* 更新
*
* @param o
*/
public void delete(Object o) {
this.getSession().delete(o);
}
/**
* 查询对象,利用上缓存,实际上调用load
*
* @param clazz
* @param id
* @return
*/
public Object get(Class<?> clazz, Serializable id) {
return this.getSession().get(clazz,id);
}

/**
* 加载对象
*
* @param clazz
* @param id
* @return
*/
public Object load(Class<?> clazz, Serializable id) {
return this.getSession().load(clazz,id);
}

/**
* 返回所以对象实例
*
* @param clazz
* @return
*/
public List<?> getAll(Class<?> clazz) {
return this.getBaseCriteria(clazz).list();
}

/**
* 删除
*
* @param clazz
* @param id
*/
public void delete(Class<?> clazz, Serializable id) {
this.getSession().delete(this.get(clazz, id));
}

/**
* 逐个删除,保证缓存与数据库的统一
*
* @param ids 主键值,
* @return
*/
public int deleteAll(Class<?> clazz, Serializable... ids) {
for (Serializable id : ids) {
delete(clazz, id);
}
return ids.length;
}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值