`
qq1988627
  • 浏览: 105995 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

基于hibernate通用DAO

    博客分类:
  • Java
 
阅读更多
   1. package ao.base.hibernate;   
   2.   
   3. import java.io.Serializable;   
   4. import java.util.Collection;   
   5. import java.util.List;   
   6.   
   7. import dao.obj.AbstractHandleObj;   
   8.   
   9. import org.hibernate.type.Type;   
  10.   
  11. /**  
  12.  * 基础Dao接口,定义通用的操作  
  13.  * 
  14.  * @version v1.1 2009/07/17  
  15.  *  
  16.  */  
  17. public interface IBaseDao {   
  18.   
  19.     /**  
  20.      * 对于返回列表的方法,通过调用我来实现返回记录数的控制,  
  21.      * 设置返回记录数,若 top为0不设置  
  22.      */  
  23.     public void setMaxResults(int top);   
  24.        
  25.     /**  
  26.      * 保存 AbstractHandleObj实体  
  27.      * @param hobj 继承AbstractHandleObj抽象类的实体  
  28.      * @return Serializable 主键  
  29.      */  
  30.     public Serializable save(AbstractHandleObj hobj);   
  31.        
  32.     /**  
  33.      * 更新 AbstractHandleObj实体  
  34.      * @param hobj 继承AbstractHandleObj抽象类的实体    
  35.      */  
  36.     public void update(AbstractHandleObj hobj);   
  37.        
  38.     /**  
  39.      * 保存或更新 AbstractHandleObj实体  
  40.      * @param hobj 继承AbstractHandleObj抽象类的实体  
  41.      */  
  42.     public void saveOrUpdate(AbstractHandleObj hobj);   
  43.        
  44.     /**  
  45.      * 保存或跟新实体集合 Collection<AbstractHandleObj>  
  46.      * 若实体已经存(根据主键判断)在则更新实体,则保存实体  
  47.      * @param hobjList 继承AbstractHandleObj抽象类的实体集合  
  48.      */  
  49.     public void saveOrUpdateAll(Collection<AbstractHandleObj> hobjList);   
  50.        
  51.     /**  
  52.      * 删除 AbstractHandleObj实体  
  53.      * @param hobj 继承AbstractHandleObj抽象类的实体  
  54.      */  
  55.     public void delete(AbstractHandleObj hobj);   
  56.        
  57.     /**  
  58.      * 删除 Collection<AbstractHandleObj>集合实体  
  59.      * @param hobjList 继承AbstractHandleObj抽象类的实体集合  
  60.      */  
  61.     public void deleteAll(Collection<AbstractHandleObj> hobjList);   
  62.        
  63.     /**  
  64.      * 根据主键值获得继承 AbstractHandleObj的实体  
  65.      * @param entityName 继承AbstractHandleObj抽象类的实体名称(注:包含包名)  
  66.      * @param id 实体主键  
  67.      * @return AbstractHandleObj  
  68.      */  
  69.     public AbstractHandleObj findByID(String entityName, String id);   
  70.        
  71.     /**  
  72.      * 根据hql语句查找 AbstractHandleObj,返回List<AbstractHandleObj>类型  
  73.      * @param hql HQL 查询语句  
  74.      * @return List<AbstractHandleObj>  
  75.      */  
  76.     public List<AbstractHandleObj> findAbstractHandleObjByHqlQuery(String hql);   
  77.        
  78.     /**  
  79.      * 根据hql语句查找 AbstractHandleObj,返回List<AbstractHandleObj>类型  
  80.      * @param hql HQL 查询语句  
  81.      * @param obj 查询参数,匹配站位符?  
  82.      * @return List<AbstractHandleObj>  
  83.      */  
  84.     public List<AbstractHandleObj> findAbstractHandleObjByHqlQuery(String hql, Object obj);   
  85.        
  86.     /**  
  87.      * 根据hql语句查找 AbstractHandleObj,返回List<AbstractHandleObj>类型  
  88.      * @param hql HQL 查询语句  
  89.      * @param objs 查询参数数组,按顺序匹配站位符?  
  90.      * @return List<AbstractHandleObj>  
  91.      */  
  92.     public List<AbstractHandleObj> findAbstractHandleObjByHqlQuery(String hql, Object[] objs);   
  93.        
  94.     /**  
  95.      * 根据hql语句查找某些列,返回List<Object[]>类型  
  96.      * @param hql HQL 查询语句  
  97.      * @return List<Object[]>  
  98.      */  
  99.     public List<Object[]> findColsByHqlQuery(String hql);   
 100.        
 101.     /**  
 102.      * 根据hql语句查找某些列,返回List<Object[]>类型  
 103.      * @param hql HQL 查询语句  
 104.      * @param obj 查询参数,匹配站位符?  
 105.      * @return List<Object[]>  
 106.      */  
 107.     public List<Object[]> findColsByHqlQuery(String hql, Object obj);   
 108.        
 109.     /**  
 110.      * 根据hql语句查找某些列,返回List<Object[]>类型  
 111.      * @param hql HQL 查询语句  
 112.      * @param objs 查询参数数组,按顺序匹配站位符?  
 113.      * @return List<Object[]>  
 114.      */  
 115.     public List<Object[]> findColsByHqlQuery(String hql, Object[] objs) ;   
 116.        
 117.     /**  
 118.      * 根据hql语句查找某些列,返回List<Object>类型  
 119.      * @param hql HQL 查询语句  
 120.      * @return List<Object>  
 121.      */  
 122.     public List<Object> findColByHqlQuery(String hql) ;   
 123.        
 124.     /**  
 125.      * 根据hql语句查找某些列,返回List<Object>类型  
 126.      * @param hql HQL 查询语句  
 127.      * @param obj 查询参数,匹配站位符?  
 128.      * @return List<Object>  
 129.      */  
 130.     public List<Object> findColByHqlQuery(String hql, Object obj);   
 131.        
 132.     /**  
 133.      * 根据hql语句查找某些列,返回List<Object>类型  
 134.      * @param hql HQL 查询语句  
 135.      * @param objs 查询参数数组,按顺序匹配站位符?  
 136.      * @return List<Object>  
 137.      */  
 138.     public List<Object> findColByHqlQuery(String hql, Object[] objs);   
 139.        
 140.     /**  
 141.      * 根据hql语句查找某些列,返回List<String[]>类型,支持分页  
 142.      * @param hql HQL 查询语句  
 143.      * @param start 查找记录数其实位置(从0开始)  
 144.      * @param reCount  要返回的记录数(页显示记录数)  
 145.      * @return List<Object[]>  
 146.      */  
 147.     public List<Object[]> findColsByHqlQuerySupportPaging(String hql, int start, int reCount);   
 148.        
 149.     /**  
 150.      * 根据hql语句查找某些列,返回List<String[]>类型,支持分页  
 151.      * @param hql HQL 查询语句  
 152.      * @param objs 查询参数数组,按顺序匹配站位符?  
 153.      * @param types  查询参数类型数组,按顺序对应objs中的参数类型  
 154.      *          注:参数必须是Hibernate类型的,比如String对应Hibernate.STRING,boolean对应Hibernate.BOOLEAN等  
 155.      * @param start 查找记录数其实位置(从0开始)  
 156.      * @param reCount  要返回的记录数(页显示记录数)  
 157.      * @return List<Object[]>  
 158.      */  
 159.     public List<Object[]> findColsByHqlQuerySupportPaging(String hql, Object[] objs,   
 160.             Type[] types, int start, int reCount);   
 161.        
 162.     /**  
 163.      * 根据hql语句查找,获得记录数  
 164.      * 例如:select count(*) from T  
 165.      * @param hql HQL 查询语句  
 166.      * @return long  
 167.      */  
 168.     public long getRecordCountByHqlQuery(String hql) ;   
 169.        
 170.     /**  
 171.      * 根据hql语句查找,获得记录数  
 172.      * 例如:select count(*) from T where ...  
 173.      * @param hql HQL 查询语句  
 174.      * @param obj 查询参数,匹配站位符?  
 175.      * @return long  
 176.      */  
 177.     public long getRecordCountByHqlQuery(String hql, Object obj) ;   
 178.        
 179.     /**  
 180.      * 根据hql语句查找,获得记录数  
 181.      * 例如:select count(*) from T where ...  
 182.      * @param hql  
 183.      * @param objs 查询参数数组,按顺序匹配站位符?  
 184.      * @return long  
 185.      */  
 186.     public long getRecordCountByHqlQuery(String hql, Object[] objs) ;   
 187.        
 188.     /**  
 189.      * 执行更新update/ 删除delete操作  
 190.      * @param hql  
 191.      * @return int 更新数量/删除数量  
 192.      */  
 193.     public int executeHqlQuery(String hql) ;   
 194.        
 195.     /**  
 196.      * 执行更新update/ 删除delete操作  
 197.      * @param hql  
 198.      * @param obj 查询参数,匹配站位符?  
 199.      * @return int 更新数量/删除数量  
 200.      */  
 201.     public int executeHqlQuery(String hql, Object obj);   
 202.        
 203.     /**  
 204.      * 执行更新update/ 删除delete操作  
 205.      * @param hql  
 206.      * @param objs 查询参数数组,按顺序匹配站位符?  
 207.      * @return int 更新数量/删除数量  
 208.      */  
 209.     public int executeHqlQuery(String hql, Object[] objs) ;   
 210.        
 211.     /**  
 212.      * 根据hql语句查找 AbstractHandleObj,返回List<AbstractHandleObj>类型,支持分页  
 213.      * @param hql HQL 查询语句  
 214.      * @param start 查找记录数其实位置(从0开始)  
 215.      * @param reCount  要返回的记录数(页显示记录数)  
 216.      * @return  List<AbstractHandleObj>  
 217.      */  
 218.     public List<AbstractHandleObj> findAbstractHandleObjByHqlQuerySupportPaging(String hql,    
 219.             int start, int reCount);    
 220.        
 221.     /**  
 222.      * 根据hql语句查找 AbstractHandleObj,返回List<AbstractHandleObj>类型,支持分页  
 223.      * @param hql HQL 查询语句  
 224.      * @param objs 查询参数数组,按顺序匹配站位符?  
 225.      * @param types  查询参数类型数组,按顺序对应objs中的参数类型  
 226.      *          注:参数必须是Hibernate类型的,比如String对应Hibernate.STRING,boolean对应Hibernate.BOOLEAN等  
 227.      * @param start 查找记录数其实位置(从0开始)  
 228.      * @param reCount  要返回的记录数(页显示记录数)  
 229.      * @return List<AbstractHandleObj>  
 230.      */  
 231.     public List<AbstractHandleObj> findAbstractHandleObjByHqlQuerySupportPaging(String hql, Object[] objs,   
 232.             Type[] types, int start, int reCount) ;   
 233.        
 234.     /**  
 235.      * 支持SQL查询,根据 sql语句查找某些列,返回List<String[]>类型  
 236.      * @param sql SQL 查询语句  
 237.      * @return List<Object[]>  
 238.      */  
 239.     public List<Object[]> findColsBySqlQuery(String sql) ;   
 240.        
 241.     /**  
 242.      * 支持SQL查询,根据 sql语句查找某列,返回List<Object>类型  
 243.      * @param sql SQL 查询语句  
 244.      * @return List<Object>  
 245.      */  
 246.     public List<Object> findColBySqlQuery(String sql) ;   
 247.        




# package dao.base.hibernate;   
#   
# import java.io.Serializable;   
# import java.sql.SQLException;   
# import java.util.ArrayList;   
# import java.util.Collection;   
# import java.util.List;   
#   
# import dao.obj.AbstractHandleObj;   
#   
# import org.hibernate.HibernateException;   
# import org.hibernate.Query;   
# import org.hibernate.Session;   
# import org.hibernate.type.Type;   
# import org.springframework.orm.hibernate3.HibernateCallback;   
# import org.springframework.orm.hibernate3.support.HibernateDaoSupport;   
#   
#   
#   
# /**  
#  * 基础Dao接口,实现通用操作  

#  * @version v1.1 2009/07/17  
#  *  
#  */  
# public class BaseDaoImpl extends HibernateDaoSupport implements IBaseDao {   
#        
#        
#     /**  
#      * 对于返回列表的方法,通过调用我来实现返回记录数的控制,  
#      * 设置返回记录数,若 top为0不设置  
#      */  
#     public void setMaxResults(int top){    
#         if(top > 0){   
#             getHibernateTemplate().setMaxResults(top);   
#         }          
#     }   
#        
#     public Serializable save(AbstractHandleObj hobj){   
#         return getHibernateTemplate().save(hobj);          
#     }   
#   
#     public void update(AbstractHandleObj hobj) {   
#         getHibernateTemplate().update(hobj);           
#        
#     }   
#        
#     public void saveOrUpdate(AbstractHandleObj hobj) {   
#         getHibernateTemplate().saveOrUpdate(hobj);   
#            
#     }   
#            
#     public void saveOrUpdateAll(Collection<AbstractHandleObj> hobjList) {   
#         getHibernateTemplate().saveOrUpdateAll(hobjList);                  
#     }   
#        
#     public void delete(AbstractHandleObj hobj) {   
#         getHibernateTemplate().delete(hobj);               
#     }   
#        
#     public void deleteAll(Collection<AbstractHandleObj> hobjList) {   
#         getHibernateTemplate().deleteAll(hobjList);        
#     }   
#        
#     public AbstractHandleObj findByID(String entityName, String id)   
#         {   
#         return (AbstractHandleObj) getHibernateTemplate().get(entityName, id);             
#     }   
#        
#     @SuppressWarnings("unchecked")     
#     public List<AbstractHandleObj> findAbstractHandleObjByHqlQuery(String hql)    
#         {      
#         List<AbstractHandleObj> resultList = new ArrayList<AbstractHandleObj>();   
#         resultList = getHibernateTemplate().find(hql);   
#         return resultList;   
#     }   
#   
#     @SuppressWarnings("unchecked")     
#     public List<AbstractHandleObj> findAbstractHandleObjByHqlQuery(String hql, Object obj)    
#         {          
#         List<AbstractHandleObj> resultList = new ArrayList<AbstractHandleObj>();   
#         resultList = getHibernateTemplate().find(hql, obj);   
#         return resultList;             
#     }   
#   
#     @SuppressWarnings("unchecked")     
#     public List<AbstractHandleObj> findAbstractHandleObjByHqlQuery(String hql, Object[] objs)    
#         {          
#         List<AbstractHandleObj> resultList = new ArrayList<AbstractHandleObj>();   
#         resultList = getHibernateTemplate().find(hql, objs);   
#         return resultList;         
#     }      
#        
#     @SuppressWarnings("unchecked")     
#     public List<Object[]> findColsByHqlQuery(String hql)    
#         {          
#         List<Object[]> resultList = getHibernateTemplate().find(hql);   
#         return resultList;         
#     }   
#   
#     @SuppressWarnings("unchecked")     
#     public List<Object[]> findColsByHqlQuery(String hql, Object obj)    
#         {          
#         List<Object[]> resultList = getHibernateTemplate().find(hql, obj);   
#         return resultList;   
#     }   
#   
#     @SuppressWarnings("unchecked")     
#     public List<Object[]> findColsByHqlQuery(String hql, Object[] objs)   
#         {          
#         List<Object[]> resultList = getHibernateTemplate().find(hql, objs);   
#         return resultList;         
#     }   
#        
#     @SuppressWarnings("unchecked")     
#     public List<Object> findColByHqlQuery(String hql)    
#         {          
#         List<Object> resultList = getHibernateTemplate().find(hql);   
#         return resultList;   
#     }   
#   
#     @SuppressWarnings("unchecked")     
#     public List<Object> findColByHqlQuery(String hql, Object obj)    
#         {          
#         List<Object> resultList = getHibernateTemplate().find(hql, obj);   
#         return resultList;         
#     }   
#   
#     @SuppressWarnings("unchecked")     
#     public List<Object> findColByHqlQuery(String hql, Object[] objs)    
#         {          
#         List<Object> resultList = getHibernateTemplate().find(hql, objs);   
#         return resultList;         
#     }   
#        
#     @SuppressWarnings("unchecked")     
#     public List<Object[]> findColsByHqlQuerySupportPaging(final String hql,final int start,    
#             final int reCount) {   
#         List<Object[]> resultList = getHibernateTemplate().executeFind(new HibernateCallback(){   
#             public Object doInHibernate(Session session)   
#                     throws HibernateException, SQLException {   
#                 Query query = session.createQuery(hql);   
#                 query.setFirstResult(start);   
#                 query.setMaxResults(reCount);   
#                    
#                 return query.list();   
#             }                  
#         });   
#         return resultList;         
#     }   
#        
#     @SuppressWarnings("unchecked")     
#     public List<Object[]> findColsByHqlQuerySupportPaging(final String hql,   
#             final Object[] objs, final Type[] types, final int start, final int reCount)    
#             {   
#         List<Object[]> resultList = getHibernateTemplate().executeFind(new HibernateCallback(){   
#                 public Object doInHibernate(Session session)   
#                         throws HibernateException, SQLException {   
#                     Query query = session.createQuery(hql);   
#                     /*设置参数*/  
#                     query.setParameters(objs, types);   
#                     query.setFirstResult(start);   
#                     query.setMaxResults(reCount);   
#                        
#                     return query.list();   
#                 }                  
#             });   
#             return resultList;         
#     }   
#        
#     public long getRecordCountByHqlQuery(String hql) {   
#         long recordCount = (Long) getHibernateTemplate().find(hql).get(0);   
#         return recordCount;        
#     }   
#        
#     public long getRecordCountByHqlQuery(String hql, Object obj) {   
#         long recordCount = (Long) getHibernateTemplate().find(hql, obj).get(0);   
#         return recordCount;        
#     }   
#        
#     public long getRecordCountByHqlQuery(String hql, Object[] objs) {   
#         long recordCount = (Long) getHibernateTemplate().find(hql, objs).get(0);   
#         return recordCount;        
#     }   
#        
#     public int executeHqlQuery(String hql) {   
#         return getHibernateTemplate().bulkUpdate(hql);             
#     }   
#        
#     public int executeHqlQuery(String hql, Object obj) {   
#         return getHibernateTemplate().bulkUpdate(hql, obj);   
#     }   
#   
#     public int executeHqlQuery(String hql, Object[] objs) {   
#         return getHibernateTemplate().bulkUpdate(hql, objs);               
#     }   
#   
#     @SuppressWarnings("unchecked")   
#     public List<AbstractHandleObj> findAbstractHandleObjByHqlQuerySupportPaging(final String hql,   
#             final int start, final int reCount) {   
#         List<AbstractHandleObj> resultList = getHibernateTemplate().executeFind(new HibernateCallback(){   
#                 public Object doInHibernate(Session session)   
#                         throws HibernateException, SQLException {   
#                     Query query = session.createQuery(hql);   
#                     query.setFirstResult(start);   
#                     query.setMaxResults(reCount);   
#                        
#                     return query.list();   
#                 }                  
#             });   
#             return resultList;         
#     }   
#   
#     @SuppressWarnings("unchecked")   
#     public List<AbstractHandleObj> findAbstractHandleObjByHqlQuerySupportPaging(final String hql, final Object[] objs,   
#             final Type[] types, final int start, final int reCount) {   
#         List<AbstractHandleObj> resultList = getHibernateTemplate().executeFind(new HibernateCallback(){   
#                 public Object doInHibernate(Session session)   
#                         throws HibernateException, SQLException {   
#                     Query query = session.createQuery(hql);   
#                     /*设置参数*/  
#                     query.setParameters(objs, types);   
#                     query.setFirstResult(start);   
#                     query.setMaxResults(reCount);   
#                        
#                     return query.list();   
#                 }                  
#             });   
#             return resultList;     
#     }   
#   
#     @SuppressWarnings("unchecked")     
#     public List<Object[]> findColsBySqlQuery(final String sql) {         
#         List<Object[]> resultList = new ArrayList<Object[]>();             
#         Session session = getHibernateTemplate().getSessionFactory().openSession();   
#         resultList = session.createSQLQuery(sql).list();   
#         session.close();   
#         return resultList;         
#     }   
#   
#     @SuppressWarnings("unchecked")     
#     public List<Object> findColBySqlQuery(String sql) {          
#         List<Object> resultList = new ArrayList<Object>();             
#         Session session = getHibernateTemplate().getSessionFactory().openSession();   
#         resultList = session.createSQLQuery(sql).list();   
#         session.close();   
#         return resultList;         
#     }   
#        
#     public int executeSqlQuery(final String sql) {         
#         int result = 0;   
#         Session session = getHibernateTemplate().getSessionFactory().openSession();   
#         result = session.createSQLQuery(sql).executeUpdate();   
#         session.close();   
#         return result;         
#     }   
}  248.     /**  
 249.      * 支持SQL操作,执行 sql语句update/delete/存储过程  
 250.      * @param sql SQL 语句  
 251.      * @return int  
 252.      */  
 253.     public int executeSqlQuery(String sql) ;   
 254.        
 255. }  

 
分享到:
评论

相关推荐

    Hibernate 原生通用DAO

    **Hibernate原生通用DAO**是基于Hibernate框架设计的一种简化数据访问操作的方式,它模仿了Spring框架中的`HibernateTemplate`类,旨在提供一个简单易用的DAO(Data Access Object)层,方便开发人员进行数据库操作...

    Hibernate_通用DAO模式,一个写好的dao层

    本资源“Hibernate_通用DAO模式”提供了一种适用于不同类型表单的DAO实现,基于SSH(Struts2、Spring、Hibernate)框架,特别强调简洁、易懂和高可移植性。 首先,SSH框架是Java Web开发中的经典组合,Struts2负责...

    Java源代码一个简单的通用DAO实现(基于hibernate)

    Java源代码 一个简单的通用DAO实现 (基于hibernate)面向应用层按POJO类缓存hibernate的session对象.使用举例: DAO dao = DAOFactory.getDAO(POJO.class);//获得一个全局类单例的DAO实例 dao.save(pojo); 你也可以...

    基于泛型的通用Dao接口和hibernate的实现

    基于泛型的通用Dao接口和Hibernate的实现 基于泛型的通用Dao接口是指使用泛型来实现数据访问对象(DAO)的接口,主要是在使用 Hibernate 或 JPA 时使用。泛型可以使得DAO接口更灵活、更通用。 泛型Dao接口的优点:...

    HibernateDao 通用

    HibernateDao 是一种基于 Hibernate ORM(对象关系映射)框架的通用数据访问对象,它简化了对数据库的操作,提供了更高级别的抽象,使开发者能够更加专注于业务逻辑而不是底层的数据操作。在Java开发中,Hibernate...

    基于hibernate的泛型Dao框架

    标题中的“基于Hibernate的泛型Dao框架”是指在Java开发中使用Hibernate ORM工具,并结合泛型设计模式构建的数据库访问对象(DAO)框架。这样的框架旨在提高代码复用性,减少重复工作,使得数据访问层的实现更加简洁...

    Hibernate泛型Dao

    【描述】"基于hibernate5 泛型Dao实例,下载后改一下数据库配置直接可以用",意味着这个压缩包文件提供了一个已经实现好的Hibernate5版本的泛型Dao示例项目。用户只需要根据自己的数据库环境修改相应的配置信息,就...

    vc生成hibernate的dao类

    标题中的“vc生成hibernate的dao类”指的是在Visual C++(vc6.0)环境下,利用特定工具或插件来自动化生成基于Hibernate框架的Data Access Object(DAO)类。DAO模式是软件设计中常用的一种模式,它将业务逻辑与数据...

    一个通用的Hibernate DAO

    - **作用**:表明本文档或代码主要关注的是基于Hibernate实现的DAO模式。 #### 四、部分内容分析 根据提供的部分代码内容,我们可以对其中的关键知识点进行详细解析: 1. **包声明与导入语句** - `package ...

    HibernateDAO的写法

    而HibernateDAO则是基于Hibernate进行数据访问的对象,是业务逻辑层和持久层之间的桥梁。本文将详细探讨HibernateDAO的实现方式以及常见设计模式,旨在帮助开发者更好地理解和运用这一技术。 1. HibernateDAO的基本...

    SSH中通用dao类

    总结来说,"SSH中通用DAO类"是基于SSH框架设计的可复用数据访问组件,它利用Spring的DAO支持和Hibernate的ORM能力,提供了一套标准的数据库操作接口和实现,以满足多种业务需求。在实际开发中,这样的DAO设计有助于...

    ssh通用基于泛型的dao

    标题“ssh通用基于泛型的dao”指的是使用SSH(Spring、Struts2、Hibernate)框架开发的一个通用的、基于泛型的DAO实现,它旨在提高开发效率,减少重复工作。 SSH框架是Java企业级应用开发的常用组合,Spring提供了...

    Struts2 Spring3 Hibernate 注解功能 DAO 泛型 通用分页

    总的来说,"SSHWithAnnotationDemo"项目展示了如何利用现代Java技术栈的高级特性,包括Struts2、Spring3和Hibernate的注解功能,DAO层的泛型设计以及通用的分页实现,来构建一个高效、可维护的Web应用。这样的实践...

    基于注解ssh的通用dao的crud

    下面我们将深入探讨基于注解的SSH实现通用DAO的CRUD(创建、读取、更新、删除)操作。 首先,让我们从Spring开始。在Spring 4中,注解的使用已经非常广泛,例如`@Autowired`用于自动装配bean,`@Service`、`@...

    Hibernate泛型DAO及使用方法.doc

    而泛型DAO(Data Access Object)则是基于Hibernate进一步抽象出来的一个设计模式,用于提供更通用的数据操作方法。本文档主要探讨了如何在Spring+Hibernate环境中创建和使用泛型DAO。 首先,我们来看一下泛型DAO...

    基于java泛型的通用DAO(CURD)实现

    现在无论做什么应用,基本上都会有涉及对象... 其实,利用Java面向对象的基本特性及JDK5新引入的泛型语法,我们可以创建通用的DAO对象的CRUD方法,同时又可保证类型的安全性。下面DAO的实现以Hibernate为基础加以演示。

    基于hibernate的baseDao

    **基于Hibernate的BaseDAO** 在Java企业级开发中,数据访问层(DAO,Data Access Object)是连接业务逻辑层和数据库的重要桥梁。BaseDAO是一种通用的设计模式,它封装了Hibernate框架的基本操作,使得业务逻辑层...

    generic-dao:使用泛型提供基于 Hibernate 的 DAO 层,因此它可以与任何 Hibernate 域对象一起使用

    通用道在 JPA/HIbernate/Spring 环境中使用泛型提供 DAO API,因此它可以与此类架构中的任何 Hibernate POJO 一起使用,而无需为每个域类创建专用的数据访问接口。 Maven 依赖项: &lt;dependency&gt; &lt;groupId&gt;org....

    最新修订:基于java泛型的通用DAO(CURD)实现

    现在无论做什么应用,基本上都会有涉及对象... 其实,利用Java面向对象的基本特性及JDK5新引入的泛型语法,我们可以创建通用的DAO对象的CRUD方法,同时又可保证类型的安全性。下面DAO的实现以Hibernate为基础加以演示。

    Struts2+hibernate+spring整合泛型DAO

    而DAO层通过泛型接口和实现类,实现了对所有实体类的通用操作,例如: ```java public interface GenericDao&lt;T&gt; { void save(T entity); T findById(Class&lt;T&gt; clazz, Serializable id); List&lt;T&gt; findAll(Class...

Global site tag (gtag.js) - Google Analytics