Base类
来源:互联网 发布:网站模板需要源码吗 编辑:程序博客网 时间:2024/05/17 02:33
IBaseDao
import java.io.Serializable;
import java.util.List;
import org.springframework.stereotype.Repository;
@Repository
public interface IBaseDao<T> {
T get(Serializable id);
T load(Serializable id);
void save(T o);
void update(T o);
void deleteById(Serializable id);
void saveOrUpdate(T o);
void delete(T entity);
void deleteByHql(String hql);
List<T> getObjects();
List find(String queryString);
List find(String queryStrin, Object value);
List find(String queryString, Object[] value);
void initialize(T o);
}
BaseDaoHibernate
import java.io.Serializable;
import java.lang.reflect.ParameterizedType;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.dragonsoft.dao.IBaseDao;
public class BaseDaoHibernate<T> extends HibernateDaoSupport implements
IBaseDao<T> {
@Autowired
private JdbcTemplate jdbcTemplate;
protected Class<T> entityClass;
public BaseDaoHibernate() {
entityClass = (Class<T>) ((ParameterizedType) getClass()
.getGenericSuperclass()).getActualTypeArguments()[0];
}
@Override
public T get(Serializable id) {
// TODO Auto-generated method stub
return getHibernateTemplate().get(entityClass, id);
}
@Override
public T load(Serializable id) {
// TODO Auto-generated method stub
return getHibernateTemplate().load(entityClass, id);
}
@Override
public void save(T o) {
// TODO Auto-generated method stub
getHibernateTemplate().save(o);
}
@Override
public void update(T o) {
// TODO Auto-generated method stub
getHibernateTemplate().update(o);
}
@Override
public void deleteById(Serializable id) {
// TODO Auto-generated method stub
T x = get(id);
delete(x);
}
@Override
public void saveOrUpdate(T o) {
// TODO Auto-generated method stub
getHibernateTemplate().saveOrUpdate(o);
}
@Override
public void delete(T entity) {
// TODO Auto-generated method stub
this.getHibernateTemplate().delete(entity);
}
@Override
public void deleteByHql(final String hql) {
// TODO Auto-generated method stub
HibernateCallback callBack = new HibernateCallback() {
@Override
public Object doInHibernate(Session session) {
Query queryObject = session.createQuery(hql);
int i = queryObject.executeUpdate();
return new Integer(i);
}
};
getHibernateTemplate().execute(callBack);
}
@Override
public List<T> getObjects() {
// TODO Auto-generated method stub
return getHibernateTemplate().loadAll(entityClass);
}
@Override
public List find(String queryString) {
// TODO Auto-generated method stub
return getHibernateTemplate().find(queryString);
}
@Override
public List find(String queryString, Object value) {
// TODO Auto-generated method stub
return getHibernateTemplate().find(queryString, value);
}
@Override
public List find(String queryString, Object[] value) {
// TODO Auto-generated method stub
return getHibernateTemplate().find(queryString, value);
}
@Override
public void initialize(T o) {
// TODO Auto-generated method stub
getHibernateTemplate().initialize(o);
}
public JdbcTemplate getJdbcTemplate() {
return jdbcTemplate;
}
@Autowired
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
@Autowired
public void setSupportHibernateTemplate(HibernateTemplate hibernateTemplate) {
super.setHibernateTemplate(hibernateTemplate);
}
}
IBaseService
import java.io.Serializable;
import java.util.List;
import com.dragonsoft.dao.IBaseDao;
public interface IBaseService<T> {
IBaseDao<T> getDao();
void setDao(IBaseDao<T> dao);
T get(Serializable id);
void update(T o);
void save(T o);
void deleteById(Serializable id);
void delete(T entity);
List<T> getObjects();
void saveOrUpdate(T entity);
}
AbstractBaseServiceImpl
import java.io.Serializable;
import java.util.List;
import org.springframework.stereotype.Service;
import com.dragonsoft.service.IBaseService;
@Service
public abstract class AbstractBaseServiceImpl<T> implements IBaseService<T> {
public T get(Serializable id) {
return getDao().get(id);
}
public void update(T o) {
getDao().update(o);
}
public void save(T o) {
getDao().save(o);
}
public void deleteById(Serializable id) {
getDao().deleteById(id);
}
public void delete(T entity) {
getDao().delete(entity);
}
public List<T> getObjects() {
return getDao().getObjects();
}
public void saveOrUpdate(T entity) {
getDao().saveOrUpdate(entity);
}
}
阅读全文
0 0
- Base类
- Base类
- base 关键字(类)
- 定义基类Base
- Base类相关方法
- base
- Base
- BASE
- base-``
- base
- Base
- base
- base
- Base
- Base类sizeof大小 -- C++
- Base 基类的理解
- 分享一个Andriod Base类
- ButterKnife的base类抽取
- 设计模总结
- 深入理解 Android 之 View 的绘制流程(四)_Draw
- ReactiveX文档中文翻译
- org.eclipse.wst.common.project.facet.core.xml读不到
- 复杂条件的if选择结构
- Base类
- 隐马尔模型----四
- Java 删除文件、文件夹
- jqGrid参数详解
- MFC常用快捷键
- GuideView实现新手引导界面
- Linux下检测dns有没有的脚本
- Java把同一个文件夹下的不同文件夹打成一个.zip格式的包
- 使用IDEA部署web项目