java项目常用 BaseDao BaseService
2012-09-08 21:05
260 查看
IBaseDao
BasoDao
IBaseService
BaseService
package com.glht.sim.dao; import java.util.List; public interface IBaseDao<T> { T get(long id); void create(T t); void delete(T t); void update(T t); int getTotalCount(); List<T>getPage(int startIndex,int count); List<T> getAll(); }
BasoDao
package com.glht.sim.dao.impl; import java.lang.reflect.ParameterizedType; import java.sql.SQLException; import java.util.List; import org.hibernate.HibernateException; import org.hibernate.Session; import org.springframework.orm.hibernate3.HibernateCallback; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import com.glht.sim.dao.IBaseDao; public abstract class BaseDao<T> extends HibernateDaoSupport implements IBaseDao<T> { protected Class<T> entityClass; protected String className; public BaseDao(){ entityClass=(Class<T>)((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0]; className=entityClass.getName(); } public T get(long id){ return (T)this.getHibernateTemplate().get(entityClass, id); } public void create(T t){ this.getHibernateTemplate().save(t); } public void delete(T t){ this.getHibernateTemplate().delete(t); } public void update(T t){ this.getHibernateTemplate().update(t); } public int getTotalCount(){ Object obj=this.getHibernateTemplate().execute(new HibernateCallback(){ public Object doInHibernate(Session session) throws HibernateException, SQLException{ return session.createQuery("select count(id) from "+className).uniqueResult(); } }); return (int)((Long)obj).longValue(); } public List<T>getPage(int startIndex,int count) { return (List<T>)this.getHibernateTemplate().executeFind( new PageHibernateCallback( "from "+className+" as c order by c.id desc",startIndex,count)); } public List<T> getAll(){ return (List<T>)this.getHibernateTemplate().find("from "+className+" as c order by c.id desc"); } }
IBaseService
package com.glht.sim.service; import java.util.List; public interface IBaseService<T> { T get(long id); void create(T obj); void delete(T obj); void update(T obj); int getTotalCount(); List<T> getPage(int startIndex,int count); List<T> getAll(); }
BaseService
package com.glht.sim.service.impl; import java.util.List; import com.glht.sim.dao.IBaseDao; import com.glht.sim.service.IBaseService; public abstract class BaseService<T> implements IBaseService<T> { protected IBaseDao<T> dao; public T get(long id){ return dao.get(id); } public void create(T obj){ dao.create(obj); } public void delete(T obj){ dao.delete(obj); } public void update(T obj){ dao.update(obj); } public int getTotalCount(){ return dao.getTotalCount(); } public List<T> getPage(int startIndex,int count){ return dao.getPage(startIndex,count); } public List<T> getAll(){ return dao.getAll(); } public void setDao(IBaseDao<T> dao) { this.dao = dao; } }
相关文章推荐
- java项目常用 BaseDao BaseService
- java项目常用 BaseDao BaseService
- java SSH三大框架整合,实现了泛型baseAction,泛型baseService,泛型baseDao
- JAVA_WEB项目之Service层抽取成BaseService和BaseServiceImpl
- JAVA 泛型BaseDao<T> BaseService <T>
- flex基础篇一,基于httpservice通信+java后台的项目创建
- java并发库之Executors常用的创建ExecutorService的几个方法说明
- maven3常用命令、java项目搭建、web项目搭建详细图解
- 【广告项目】Java 实现list接口的三个常用类
- 从Java转iOS第一个项目总结(常用第三方,工具介绍)
- maven3常用命令、java项目搭建、web项目搭建详细图解
- NotepadBaseOnJava项目总结与问题(2)
- 第六篇 项目疑问 ------- BaseService<T> where T : class, new() 含义
- 【SSH项目实战】国税协同平台-23.抽取BaseService
- 项目经验分享——Java常用工具类集合
- Java Annotation 及几个常用开源项目注解原理简析
- JAVA常用开源项目大全
- maven3常用命令、java项目搭建、web项目搭建
- Java Annotation 及几个常用开源项目注解原理简析
- 部署java项目出现base 64解析问题