package tdh.court09.dao; import java.sql.SQLException; 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.hibernate.transform.Transformers; import org.hibernate.type.Type; import org.springframework.orm.hibernate3.HibernateCallback; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; public class CommonDAO extends HibernateDaoSupport { private static final Log MYLOG = LogFactory.getLog(CommonDAO.class); /** * save * * @param transientInstance */ public void save(Object transientInstance) { MYLOG.debug("deleting " + Object.class.getName()); try { getHibernateTemplate().save(transientInstance); MYLOG.debug("save successful"); } catch (RuntimeException re) { MYLOG.error("save failed", re); throw re; } } /** * update * * @param transientInstance */ public void update(Object transientInstance) { MYLOG.debug("deleting " + Object.class.getName()); try { getHibernateTemplate().update(transientInstance); MYLOG.debug("save successful"); } catch (RuntimeException re) { MYLOG.error("save failed", re); throw re; } } /** * delete * * @param persistentInstance */ public void delete(Object persistentInstance) { MYLOG.debug("deleting " + Object.class.getName()); try { getHibernateTemplate().delete(persistentInstance); MYLOG.debug("delete successful"); } catch (RuntimeException re) { MYLOG.error("delete failed", re); throw re; } } /** * get Object(such as Integer, Long) * * @param hql * @param objArr * @param typeArr * @return */ public Object getObjectByHql(final String hql, final Object[] objArr, final Type[] typeArr) { MYLOG.debug("getObjectByHql: " + hql); try { Object obj = getHibernateTemplate().execute(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { Query query = session.createQuery(hql); if (objArr != null) { query.setParameters(objArr, typeArr); } return query.uniqueResult(); } }); return obj; } catch (RuntimeException re) { MYLOG.error("get failed", re); throw re; } } /** * get Object(such as Integer, Long) * * @param hql * @param objArr * @param typeArr * @return */ public Object getObjectByHql(final String hql) { return getObjectByHql(hql, null, null); } /** * getList * * @param hql * @param objArr * @param typeArr * @return List<Object[]> */ public List<?> getListByHql(final String hql, final Object[] objArr, final Type[] typeArr) { MYLOG.debug("getListByHql: " + hql); try { List<?> list = getHibernateTemplate().executeFind(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { Query query = session.createQuery(hql); if (objArr != null) { query.setParameters(objArr, typeArr); } List<?> list = query.list(); return list; } }); return list; } catch (RuntimeException re) { MYLOG.error("get failed", re); throw re; } } /** * getList * * @param hql * @return List<Object[]> */ public List<?> getListByHql(final String hql) { return getListByHql(hql, null, null); } /** * 此方法对含有text的字段不支持 * * @param sql eg: select AHDM,AH from AJ where AHDM='227300000005631' * @return List<Map> */ @SuppressWarnings("unchecked") public Map<String, Object> getMapBySql(final String sql) { MYLOG.debug("getListBySql: " + sql); try { Object obj = getHibernateTemplate().execute(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { Query query = session.createSQLQuery(sql); query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP); return query.uniqueResult(); } }); return (Map<String, Object>) obj; } catch (RuntimeException re) { MYLOG.error("get failed", re); throw re; } } /** * 此方法对含有text的字段不支持 * * @param sql eg: select AHDM,AH from AJ where AHDM='227300000005631' * @return List<Map> */ public List<?> getListBySql(final String sql, final Object[] objArr, final Type[] typeArr) { MYLOG.debug("getListBySql: " + sql); try { List<?> list = getHibernateTemplate().executeFind(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { Query query = session.createSQLQuery(sql); if (objArr != null) { query.setParameters(objArr, typeArr); } query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP); List<?> list = query.list(); return list; } }); return list; } catch (RuntimeException re) { MYLOG.error("get failed", re); throw re; } } /** * 此方法对含有text的字段不支持 * * @param sql eg: select AHDM,AH from AJ where AHDM='227300000005631' * @return List<Map> */ public List<?> getListBySql(final String sql) { return getListBySql(sql, null, null); } /** * 更新 * * @param sql * @return */ public int updateSql(final String sql, final Object[] objArr, final Type[] typeArr) { try { int i = (Integer) getHibernateTemplate().execute(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { Query query = session.createSQLQuery(sql); if (objArr != null) { query.setParameters(objArr, typeArr); } return query.executeUpdate(); } }); return i; } catch (RuntimeException re) { MYLOG.error("get failed", re); throw re; } } /** * 更新 * * @param sql * @return */ public int updateSql(final String sql) { return updateSql(sql, null, null); } }
相关推荐
getHibernateTemplate()查询 hibernate hql
整合了hibernate的getHibernateTemplate()使用方法 全面详细 带有相应的例子
getHibernateTemplate分页-模糊查询.hibernate查询以及分页查询等方法使用。
getHibernateTemplate()有模糊查询和 分页getHibernateTemplate()有模糊查询和 分页
getHibernateTemplate()方法
gethibernatetemplate的find方法,find(String queryString);find(String queryString , Object value);find(String queryString, Object[] values);findByExample(Object exampleEntity);findByExample(Object ...
数据表Blob字段在Hibernate持久化映射文件中的type为org.springframework.orm.hibernate3.support.BlobByteArrayType,即Spring所提供的用户自定义的类型,而非java.sql.Blob。 3在Spring中使用org.springframework...
jsp中调用dao的getHibernateTemplate()时,报空指针
Hibernate总是使用对象类型作为字段类型 5. XDoclet专门建立了hibernate doclet,就是在java代码上加上一些 java docTag,后来再让XDoclet分析该java代码,生成映射文件; 6.HQL子句本身大小写无关,...
Spring提供了很多IoC特性的支持,方便处理大部分典型的Hibernate整合问题。 如:SessionFactory的注入、HibernateTemplate的简化操作、DAO的支持等。 为了更好地与持久层框架整合,Spring还提供了统一的异常处理体系...
find(String queryString , Object value); 示例:this.getHibernateTemplate().find("from bean.User u where u.name=?", "test"); 这样的例子里面还有很多
解决getHibernateTemplate().save ()不能将数据保存到数据库的问题JusterDu 2016-03-15 08:38:57 1857
Spring 的框架提供了getHibernateTemplate ().findByCriteria(detachedCriteria) 方法可以很方便地根据DetachedCriteria 来返回查询结 果。 DetachedCriteria 提供了 2 个静态方法 forClass(Class) 或 forEntityName...
这次弄了点细节问题 所以分要的高了点 不过应该还是值得的 汗 登录做得太笨了 原来可以这样做 更改hibernate的实现类 添加以下方法 ,loginaction的条件用这个来改 public boolean login(String username, String ...
Spring中常用的hql查询方法_(getHibernateTemplate())
package dao.hibernate; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import vo.Card; import dao.ICardDAO; public class CardDAOImp extends HibernateDaoSupport implements ...
Hibernate用来作持久层部分和域模型层部分,负责存储、更新、删除、查询数据库记录等,用来作DAO处理,本系统使用Spring整合Hibernate,spring为Hibernate的session提供了有效的容易和安全的控制,Spring控制...
Hibernate用来作持久层部分和域模型层部分,负责存储、更新、删除、查询数据库记录等,用来作DAO处理,本系统使用Spring整合Hibernate,spring为Hibernate的session提供了有效的容易和安全的控制,Spring控制...
Hibernate用来作持久层部分和域模型层部分,负责存储、更新、删除、查询数据库记录等,用来作DAO处理,本系统使用Spring整合Hibernate,spring为Hibernate的session提供了有效的容易和安全的控制,Spring控制...
Java Web 程序设计教程 300 页 </div> </div> </div> <jsp:include page="foot.jsp"></jsp:include> </body> </html> 14.5 图书查询 在 head.jsp 页面中,不只有登录、注销和注册功能,在它们的下面,还有图书查询...