- 浏览: 453720 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
wjs876046992:
后来我下载了Eclipse Indigo版本,同样操作却成功了 ...
myeclipse2014中安装spket-1.6.23 -
wjs876046992:
我的是myEclipse2014,将那两个文件夹拷贝到drop ...
myeclipse2014中安装spket-1.6.23 -
lucky8060:
应该不是每次请求都产生一个action吧?应该是每个sessi ...
Struts2 action的单例与多例
import java.io.Serializable; import java.util.List; import org.hibernate.HibernateException; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.omg.Dynamic.Parameter; public class HibernateHelper { static SessionFactory sf=null; static{ Configuration cf=new Configuration().configure(); sf=cf.buildSessionFactory(); } //1、得到session。 public static Session getcurrentsession(){ Session session=sf.getCurrentSession(); return session; } public static Session opensession(){ Session session=sf.openSession(); return session; } //2、load提供一个返回一个对象的方法 public static Object findbyid(Class clazz, Serializable id){ Session s=HibernateHelper.getcurrentsession(); Transaction ts=s.beginTransaction(); Object obj=null; try { obj=s.load(clazz, id); //提交事务 ts.commit(); } catch (HibernateException e) { // TODO Auto-generated catch block if (ts!=null) { ts.rollback(); } e.printStackTrace(); }finally{ if (s!=null&&s.isOpen()) { s.close(); } return obj; } } //3、统一的一个修改和删除(批量 hql) hql"delete upate ...??" public static void executeUpdate(String hql,String [] parameters){ Session s=null; Transaction tx=null; try { s=opensession(); tx=s.beginTransaction(); Query query=s.createQuery(hql); //先判断是否有参数要绑定 if(parameters!=null&& parameters.length>0){ for(int i=0;i<parameters.length;i++){ query.setString(i, parameters[i]); } } query.executeUpdate(); tx.commit(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException(e.getMessage()); // TODO: handle exception }finally{ if(s!=null&&s.isOpen()){ s.close(); } } } //4、统一的添加的方法 public static void save(Object obj){ Session s=null; Transaction tx=null; try { s=opensession(); tx=s.beginTransaction(); s.save(obj); tx.commit(); } catch (Exception e) { if(tx!=null){ tx.rollback(); } throw new RuntimeException(e.getMessage()); // TODO: handle exception }finally{ if(s!=null && s.isOpen()){ s.close(); } } } //5、只返回一个数据 public static String executeQuery_onepara(String hql,String parameter[]){ String s=null; //创建session Session session=HibernateHelper.getcurrentsession(); //创建事务 Transaction ts=session.beginTransaction(); try { Query q=session.createQuery(hql); if (parameter!=null&¶meter.length>0) { for (int i = 0; i < parameter.length; i++) { q.setString(i, parameter[i]); } } s=(String)q.uniqueResult(); //提交事务 ts.commit(); } catch (HibernateException e) { // TODO Auto-generated catch block if (ts!=null) { ts.rollback(); } e.printStackTrace(); }finally{ if (session!=null&&session.isOpen()) { session.close(); } } return s; } //6、只返回一个对象 public static Object executeQueryForObject(String hql,String parameter[]){ Object o=null; //创建session Session session=HibernateHelper.getcurrentsession(); //创建事务 Transaction ts=session.beginTransaction(); try { Query q=session.createQuery(hql); if (parameter!=null&¶meter.length>0) { for (int i = 0; i < parameter.length; i++) { q.setString(i, parameter[i]); } } o=q.uniqueResult(); //提交事务 ts.commit(); } catch (HibernateException e) { // TODO Auto-generated catch block if (ts!=null) { ts.rollback(); } e.printStackTrace(); }finally{ if (session!=null&&session.isOpen()) { session.close(); } } return o; } //7、分页 //提供提议分页 //通过参数绑定进行查询, public static List executeQuery_bypage(String hql,String parameter[],int pagesize,int pagenow){ List list=null; //创建session Session session=HibernateHelper.getcurrentsession(); //创建事务 Transaction ts=session.beginTransaction(); try { Query q=session.createQuery(hql); if (parameter!=null&¶meter.length>0) { for (int i = 0; i < parameter.length; i++) { q.setString(i, parameter[i]); } } q.setFirstResult((pagenow-1)*pagesize).setMaxResults(pagesize); list=q.list(); //提交事务 ts.commit(); } catch (HibernateException e) { // TODO Auto-generated catch block if (ts!=null) { ts.rollback(); } e.printStackTrace(); }finally{ if (session!=null&&session.isOpen()) { session.close(); } } return list; } //通过参数绑定进行查询, public static List executeQuery_common_currentSe_setParameter(String hql,String parameter[]){ List list=null; //创建session Session session=HibernateHelper.getcurrentsession(); //创建事务 Transaction ts=session.beginTransaction(); try { Query q=session.createQuery(hql); if (parameter!=null&¶meter.length>0) { for (int i = 0; i < parameter.length; i++) { q.setString(i, parameter[i]); } } list=q.list(); //提交事务 ts.commit(); } catch (HibernateException e) { // TODO Auto-generated catch block if (ts!=null) { ts.rollback(); } e.printStackTrace(); }finally{ if (session!=null&&session.isOpen()) { session.close(); } } return list; } }
发表评论
-
java实现页面字符串换行空格方法(如果原始字符串存在换行和空格)
2014-09-28 14:23 2135适用于xml、json以及分条字符串 /** ... -
web里的路径获取方法总结
2014-09-25 17:27 6031、获取web系统根目录 String dirPath ... -
servlet或springmvc中得到web项目根路径
2014-07-07 14:53 20221、 request.getServletContext( ... -
springmvc controller和servlet中文乱码问题
2014-05-26 23:00 3661一、第一种方法通过tomcat配置和spring编码过滤器 ... -
flex拓扑图
2014-04-04 13:29 40123 -
使input type=“file”的浏览按钮透明隐藏的方法
2013-09-17 10:51 27599jsp代码: <input type="f ... -
hibernate3.6二级缓存
2013-06-14 09:31 1116使用spring的情况下: 注:首先确定hibernat ... -
一个过滤器实例
2013-06-04 17:33 998public class AuthFilter imple ... -
Struts标签使用java帮助类方法
2013-06-04 14:53 481<s:property value="@co ... -
分页操作
2013-05-29 09:58 8581.使用hibernate (1)定义变量-页面传递当前 ... -
使用hibernate查询部分字段的方法
2013-04-08 10:35 910数据库操作: List<UserAudit> ... -
log4j使用笔记
2013-04-03 15:10 7861.导入log4j的jar包--log4j-1.2.13. ... -
Struts2 action的单例与多例
2013-03-05 18:03 14939struts 2的Action是多实例 ... -
得到本地和远程IP
2013-03-03 18:16 2133package com.ru.util; impor ... -
在类中获取得到路径,request,response,session
2013-03-02 19:01 5550package com.ru.action; imp ... -
struts2的request,session,application
2012-12-04 16:30 10081.第一种方法(实现RequestAware,Sessi ... -
struts2实现文件上传
2012-10-07 16:06 9241.upload.jsp <%@ page ... -
struts2实现文件过滤
2012-10-07 17:09 1008一、手动实现文件过滤 1.uploadAction.java ... -
struts2实现文件下载
2012-10-07 19:02 997注:struts2提供的下载功能,在action中只需要提 ... -
struts2拦截器机制
2012-10-08 16:17 1322一、inperceptor配置使用过程 1.配置拦截器 ...
相关推荐
### Hibernate HQL 关联查询详解 #### 一、引言 在进行数据库操作时,关联查询是必不可少的一部分,尤其在处理复杂的数据结构时更是如此。...希望本文能帮助读者更好地理解和运用Hibernate HQL关联查询技术。
此压缩包中的`HibernateHQL.chm`文件很可能是Hibernate HQL的详细教程或参考手册,包含了HQL的语法、用法示例、最佳实践以及可能遇到的问题解决方案。它可以帮助开发者深入理解如何在实际项目中高效地使用HQL进行...
`HqlWhere.java`工具类通常会提供一些静态方法,帮助开发者动态地构建和拼接这些HQL WHERE子句。例如,该类可能包含以下方法: ```java public class HqlWhere { public static String appendCondition(String hql...
根据提供的文件信息,我们可以深入探讨Hibernate HQL(Hibernate Query Language)的相关知识点,特别是关于其查询功能、连接操作、条件过滤...通过本文的介绍,希望能够帮助读者更好地理解和掌握HQL的基本概念及用法。
本程序“HibernateHql综合测试小程序”是针对Hibernate中的HQL(Hibernate Query Language)进行的一系列功能测试,涵盖了二十多种不同的HQL语句,旨在帮助开发者深入理解和熟练运用Hibernate的查询能力。...
### Hibernate 课件_HQL 知识点解析 #### HQL查询 ...这些知识点涵盖了HQL的基本概念、查询方法、各种高级查询技巧以及Session的管理等方面,希望能够帮助大家更好地理解和掌握Hibernate的HQL查询技术。
"HibernateHQL实现前台翻页"这一主题就是关于如何利用Hibernate的HQL(Hibernate Query Language)来实现数据库查询的分页功能,并结合Servlet(通常与MVC模式中的Controller层对应)和MySQL数据库来构建一个完整的...
总的来说,精通HQL是掌握Hibernate的关键步骤,它能帮助开发者以面向对象的方式进行数据检索,提高代码的可读性和可维护性。通过熟练运用HQL,开发者可以更好地驾驭Hibernate框架,实现高效的数据操作。
### Hibernate HQL 基本操作详解 #### 一、HQL简介 HQL,即Hibernate Query Language,是Hibernate...以上是对给定文件中的“hibernate HQL基本操作”的详细解析,希望能够帮助读者更好地理解和掌握HQL的相关知识点。
在WebLogic 12环境中部署应用程序时,如果应用依赖于特定版本的Hibernate框架,并且该版本与WebLogic服务器默认提供的Hibernate版本存在差异,则可能会导致`org.hibernate.hql.ast.HqlToken`类冲突。此类冲突主要...
理解并熟练运用这些HQL特性,能够帮助开发者更高效地进行数据操作,避免直接操作SQL所带来的复杂性和潜在问题。在实际项目中,应结合Hibernate的其他功能,如缓存、事务管理等,以构建健壮的数据访问层。
在Hibernate中,HQL(Hibernate Query Language)是专为ORM设计的一种面向对象的查询语言,它允许开发者以类和对象的方式进行数据查询,而不是直接使用SQL。本资料主要涵盖了Hibernate HQL查询的基本概念、语法以及...
通过上述介绍,我们可以看到HQL的强大之处在于它能够有效地处理复杂的对象关系,同时也提供了一些高级功能,如延迟加载和抓取策略,帮助优化数据访问性能。理解和掌握HQL将极大地提升开发者在Hibernate项目中的效率...
本篇将详细讲解一个“超好用的Hibernate查询工具类”,以及如何利用它来提升开发效率。 首先,我们需要理解Hibernate的基本概念。Hibernate是一种持久化框架,它可以将Java对象映射到数据库表,从而避免了编写大量...
10. **性能优化**:理解HQL并有效地利用它,可以帮助优化数据库操作性能。例如,通过合理使用`fetch`策略减少数据库访问次数,或者通过缓存机制提高查询速度。 总之,Hibernate的HQL语句为开发者提供了强大的面向...
本资料主要探讨的是Hibernate中的两种查询方式:HQL(Hibernate Query Language)和Criteria API。 HQL,全称为Hibernate查询语言,是Hibernate提供的一种面向对象的查询语言,类似于SQL,但更加面向对象。HQL直接...
2.3. 映射查询:Hibernate支持EJBQL(Enterprise JavaBeans Query Language)和HQL(Hibernate Query Language)进行查询映射,以及本地化查询。这使得开发者可以使用面向对象的方式来编写查询语句。 2.4. ...
使用IDE中的Hibernate插件或在线HQL验证工具可以帮助找到语法错误。 2. **升级Hibernate版本**:如果HQL查询没有问题,考虑升级WebLogic服务器中使用的Hibernate版本。这可能需要与WebLogic的版本相匹配,以避免...
在这个“hibernate的大部分的工具类”压缩包中,我们很可能会找到一系列帮助简化Hibernate操作的实用工具类。这些工具类通常包括对数据操作的辅助方法、空值检查、分页处理以及HQL查询的通用分页功能。 首先,让...
"Hibernate3帮助文档"提供了关于Hibernate3版本的详尽指南,包括其主要特性和用法。 文档中可能涵盖了以下几个关键知识点: 1. **配置**: Hibernate的配置文件(通常是hibernate.cfg.xml)是项目启动的基础,它...