- 浏览: 720704 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
ron.luo:
群主有开放源代码吗?
统一用户权限管理系统(正式版) -
名字应该取长点:
楼主可不可以问你几个问题呀,关于这个插件,貌似单线程,而且不分 ...
Extjs3.3 + swfUpload2.2 实现多文件上传组件 -
mayouth:
不知道楼主能不能解决下浏览器兼容的问题,目前好像火狐和谷歌浏览 ...
Extjs3.3 + swfUpload2.2 实现多文件上传组件 -
一水无间:
...
pushlet + Extjs 聊天室v0.9 (含源码) -
jintt123:
你好!我后台用的是C#,为什么一直上传失败,好像是后台取不到参 ...
多文件上传UploadPanel for extjs4(swfuoload2.5)
package base; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.hibernate.HibernateException; import org.hibernate.Query; import org.hibernate.Session; import org.springframework.orm.hibernate3.HibernateCallback; import org.springframework.orm.hibernate3.HibernateTemplate; public class DAO<T extends Entity> { private static final Log log = LogFactory.getLog(DAO.class); private Class<T> mytype; private HibernateTemplate hibernateTemplate; public DAO(Class<T> type,HibernateTemplate temp) { mytype=type; hibernateTemplate=temp; } public DAO(Class<T> type) { mytype=type; } public void setHibernateTemplate(HibernateTemplate temp) { if(hibernateTemplate==null){this.hibernateTemplate = temp;} } public Class<T> getEntityClass() { return mytype; } @SuppressWarnings("unchecked") public T loadByID(String id) { T rt=(T) hibernateTemplate.get(mytype.getName(),id); return rt; } public String save(T o) { if(o==null){return "";} if("".equals(o.id)){o.id=null;} hibernateTemplate.saveOrUpdate(o); return o.id; } public void save(final List<T> data) { if(data==null) return; for(T o : data){save(o);} } public void delete(String id) { T obj=loadByID(id); if(obj!=null){hibernateTemplate.delete(obj);} } public void delete(T o) { if(o==null){return;} hibernateTemplate.delete(o); } @SuppressWarnings("unchecked") private Object queryNum(final String hql, final Map<String, Object> args) { return hibernateTemplate.execute(new HibernateCallback() { public Object doInHibernate(Session session)throws HibernateException { if(log.isDebugEnabled()){log.debug("queryNum :" + hql);} Query q = session.createQuery(hql); if(args!=null) { for (String k : args.keySet()){ q.setParameter(k, args.get(k)); } } return q.uniqueResult();//q.executeUpdate() } }); } @SuppressWarnings("unchecked") public int getTotalCnt(final String hqlwhere) { String hql = "select count(*) from " + mytype.getName() + " where " + hqlwhere; if(log.isDebugEnabled()){log.debug("getTotalCnt :"+hql);} Object rt= queryNum(hql,new HashMap()); return Integer.parseInt(rt.toString()); } public int getTotalCnt(final String hqlwhere, final Map<String, Object> args) { String hql = "select count(*) from " + mytype.getName() + " where " + hqlwhere; if(log.isDebugEnabled()){log.debug("getTotalCnt :"+hql);} Object rt= queryNum(hql,args); return Integer.parseInt(rt.toString()); } @SuppressWarnings("unchecked") public List<T> load(final String hqlwhere) { List rt=(List) hibernateTemplate.execute( new HibernateCallback() { public Object doInHibernate(Session session)throws HibernateException { String hql = "from " + mytype.getName() + " where " + hqlwhere; if(log.isDebugEnabled()){log.debug("load :"+hql);} return session.createQuery(hql).list(); } }); return (List<T>)rt; } @SuppressWarnings("unchecked") public List<T> load(final String hqlwhere,final int start,final int size) { List rt=(List) hibernateTemplate.execute( new HibernateCallback() { public Object doInHibernate(Session session)throws HibernateException { String hql = "from " + mytype.getName() + " where " + hqlwhere; if(hql.indexOf("order by")<0) hql=hql+" order by lastModifiedDate DESC"; if(log.isDebugEnabled()){log.debug("load :"+hql);} Query q=session.createQuery(hql); q.setMaxResults(size); q.setFirstResult(start); return q.list(); } }); return (List<T>)rt; } @SuppressWarnings("unchecked") public List<T> load(final String hqlwhere,final Map<String, Object> args,final int start,final int size) { List rt=(List) hibernateTemplate.execute( new HibernateCallback() { public Object doInHibernate(Session session)throws HibernateException { String hql = "from " + mytype.getName() + " where " + hqlwhere; if(hql.indexOf("order by")<0) hql=hql+" order by lastModifiedDate DESC"; if(log.isDebugEnabled()){log.debug("load :"+hql);} Query q=session.createQuery(hql); q.setMaxResults(size); q.setFirstResult(start); for (String k : args.keySet()){ q.setParameter(k, args.get(k)); } return q.list(); } }); return (List<T>)rt; } @SuppressWarnings("unchecked") public List<T> load(final String hqlwhere, final Map<String, Object> args) { List rt=(List)hibernateTemplate.execute(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException { String hql = "from " + mytype.getName() + " where " + hqlwhere; if(log.isDebugEnabled()) log.debug("load :" + hql); Query q = session.createQuery(hql); for (String k : args.keySet()){ q.setParameter(k, args.get(k)); } return q.list(); } }); return (List<T>)rt; } @SuppressWarnings("unchecked") public Object execute(final String hql, final Map<String, Object> args) { return hibernateTemplate.execute(new HibernateCallback() { public Object doInHibernate(Session session)throws HibernateException { if(log.isDebugEnabled()) log.debug("execute :" + hql); Query q = session.createQuery(hql); if(args!=null) { for (String k : args.keySet()){ q.setParameter(k, args.get(k)); } } return q.executeUpdate(); } }); } @SuppressWarnings("unchecked") public void delete(List<T> list) { List<String> ids=new ArrayList<String>(); for (int i=0 ; i<list.size();i++){ T data=list.get(i); if(data!=null&&data.id!=null) ids.add(data.id); //delete(list.get(i)); } int j=0; if(ids.size()<1) return; String[] tp=new String[ids.size()]; for(String id :ids) { tp[j++]=new String(id); } deleteByIds(tp); } @SuppressWarnings("unchecked") public void deleteByIds(String[] ids) { if(ids.length<1) return; StringBuilder sb=new StringBuilder(); sb.append("id in ("); for(int j=0;j< ids.length;j++) { sb.append("'"+ids[j]+"'"); if(j<(ids.length-1)) sb.append(","); } sb.append(")"); execute("delete "+mytype.getName()+" where "+sb.toString(),null); } public void deleteByIds(String ids){ if(ids==null||ids.equals("")) return; String[] idArr = ids.split(","); StringBuilder sb=new StringBuilder(); sb.append("id in ("); for(int j=0;j< idArr.length;j++) { sb.append("'"+idArr[j]+"'"); if(j<(idArr.length-1)) sb.append(","); } sb.append(")"); execute("delete "+mytype.getName()+" where "+sb.toString(),null); } @SuppressWarnings("unchecked") public void deleteAll() { execute("delete "+mytype.getName(),null); } @SuppressWarnings("unchecked") public List<T> loadAll(){ return hibernateTemplate.loadAll(mytype); } @SuppressWarnings("unchecked") public int getTotal(){ List<T> list = hibernateTemplate.loadAll(mytype); return list.size(); } }
评论
2 楼
czpae86
2010-11-18
bill9 写道
Entity 是 那个包中的
这个是一个javabean,实体类 自己定义一个就可以了,根据这个DAO,这个实体类里面要有geter seter id
1 楼
bill9
2010-11-17
Entity 是 那个包中的
发表评论
-
支持代码自动生成的管理系统后台-SimpleTEM
2018-05-03 13:29 2422演示地址:http://itgap.net 联系作 ... -
一个快速速开发管理系统的平台-支持代码生成和细粒度权限管理
2018-04-25 17:32 229演示地址:http://119.23.238.120/adm ... -
一个基于URL细粒度权限控制管理系统模版
2018-04-25 17:17 0演示地址:http://119.23.238.120/adm ... -
统一用户权限管理系统(正式版)
2015-01-08 21:11 50458该系统已停止更新,已发布另外一个平台,演示地址:htt ... -
Sencha Touch2 MVC Demo (含源码/数据库)
2012-11-08 16:25 7155源码见附件。由于文件太大,resources\media ... -
后台管理
2012-09-09 18:58 3346java6+spring+hibernate+extjs4.1 ... -
密码加密
2012-07-12 09:56 1667import java.security.NoSuchA ... -
jquery 多文件上传 (java)
2012-07-10 12:00 2317$(function(){ $('#T8A').Mul ... -
java.util.Timer 用法
2012-03-31 23:42 1889import java.io.IOException; ... -
利用ServletContextListener 获取spring上下文
2012-03-31 23:32 2230import javax.servlet.Servlet ... -
javax.servlet.ServletContextListener 作用
2012-03-31 23:15 10012ServletContextListener 是 Servle ... -
keel_jdbc1.0 (jdk1.5+Extjs4.0) web项目_包含前后台源码
2011-04-29 00:06 2974最近发布 [Extjs4.0] keel_jdbc2 ... -
使用dbutils封装的一个数据库操作类
2011-04-28 22:28 4894使用commons-dbutils-1.3.jar,请自行下载 ... -
Spring2+Hibernate3+Struts2+Extjs3.2
2010-05-02 14:30 7366最近把框架完善了,把上传、下载、前端换肤、登录、权限等功能加上 ... -
加载src下的properties文件
2010-04-20 00:43 2479public class ProsUtil { pr ...
相关推荐
在实现通用DAO时,反射通常用于动态调用数据库操作的方法,比如SQL查询。例如,在`UsersDAO.java`中,可能有以下代码: ```java public class UsersDAO extends BaseDao<Users> { @Override public void save...
在C#编程中,"通用Dao层"是一个常见的设计模式,用于封装数据库操作,使得业务逻辑层能够专注于处理业务规则,而无需关心底层数据访问的细节。本篇将重点探讨如何利用C#的特性(Attribute)标签来实现这一目标,同时...
泛型通用DAO是这种模式的一种优化,它利用了Java 5.0引入的泛型和反射机制,大大简化了DAO层的编码工作,提高了代码的可复用性和可维护性。 泛型是Java中的一种类型系统扩展,它允许在编译时声明参数化的类型,从而...
在这个"JDBCTemplate+JavaPOJO实现通用DAO"的项目中,我们将探讨如何利用这两者构建一个通用的DAO层。 首先,Java POJO(Plain Old Java Object)是指那些没有特殊约束的简单Java对象,通常用于表示数据库中的实体...
本示例将探讨一个通用DAO的另类实现方法,旨在提高代码复用性和简化开发过程。 首先,理解SSH框架中的DAO设计模式至关重要。DAO是一种设计模式,它为应用程序提供了一种抽象的接口,以便与数据库进行交互,同时避免...
标题中的“hibernate4 通用dao,service”指的是在Java开发中使用Hibernate框架实现的通用数据访问对象(DAO)和业务服务层(Service)。Hibernate是一个流行的对象关系映射(ORM)工具,它允许开发者使用面向对象的...
本篇文章将深入探讨Hibernate的通用Dao设计,帮助开发者理解如何利用Hibernate提高代码复用性和可维护性。 在传统的Java应用程序中,DAO(Data Access Object)层是用于封装数据库访问逻辑的地方,它隔离了业务逻辑...
SSM(Spring-SpringMVC-Mybatis)通用Dao框架是一个常见的Java Web开发架构,它整合了Spring、SpringMVC和Mybatis三个强大的开源框架,为开发者提供了便捷的数据访问和业务逻辑处理能力。这个框架的使用可以显著提高...
自定义通用DAO实现基本的CRUD,比如: public interface BaseDao<T> { int insert(T obj) throws Exception; int update(T obj) throws Exception; int deleteByPrimaryKey(Object key) throws Exception; int ...
Java源代码 一个简单的通用DAO实现 (基于hibernate)面向应用层按POJO类缓存hibernate的session对象.使用举例: DAO dao = DAOFactory.getDAO(POJO.class);//获得一个全局类单例的DAO实例 dao.save(pojo); 你也可以...
本资源“Hibernate_通用DAO模式”提供了一种适用于不同类型表单的DAO实现,基于SSH(Struts2、Spring、Hibernate)框架,特别强调简洁、易懂和高可移植性。 首先,SSH框架是Java Web开发中的经典组合,Struts2负责...
**Hibernate原生通用DAO**是基于Hibernate框架设计的一种简化数据访问操作的方式,它模仿了Spring框架中的`HibernateTemplate`类,旨在提供一个简单易用的DAO(Data Access Object)层,方便开发人员进行数据库操作...
MyBatis 通用DAO(Data Access Object)是一种设计模式,旨在提供一种标准的方式来访问数据库,减少重复代码,提高开发效率。在Java Web开发中,MyBatis作为一个优秀的持久层框架,它支持定制化SQL、存储过程以及...
**标题:“Hibernate的通用DAO”** 在Java编程领域,Hibernate是一个强大的对象关系映射(ORM)框架,它允许开发者以面向对象的方式处理数据库操作,从而减少了对SQL的直接依赖。通用DAO(Data Access Object)是一...
在这个场景中,"SSH中通用DAO类"指的是在SSH框架下设计和实现的可以应用于多种业务场景的数据访问对象(Data Access Object)类。 DAO层是三层架构或MVC架构中的一个重要部分,主要负责与数据库进行交互,将业务...
通用dao,简单全面,所有dao都可以继承这个dao.
通用数据库访问模块(通常称为 DAO,Data Access Object)是一种软件设计模式,用于在应用程序和数据库之间提供一个抽象层。DAO 类的主要目标是隔离业务逻辑层与数据存储层,使得应用程序可以独立于特定的数据库实现...
然而,为了提高代码的复用性和可维护性,通常会设计一个通用DAO(Data Access Object)层来处理基本的数据操作。"hibernate不是泛型的通用DAo1"这个标题暗示了我们讨论的是一种非泛型化的DAO实现,可能是因为开发者...
本文将深入探讨如何将MyBatis与通用Dao(Data Access Object)和通用Mapper进行整合,以提高开发效率和代码复用性。我们将以"Mybatis整合通用Dao,Mybatis整合通用Mapper,MyBatis3.x整合通用Mapper3.5.x"为主题,...