当前位置:首页 > 开发 > 数据库 > 正文

hql语句总结

发表于: 2013-08-30   作者:cngolon   来源:转载   浏览次数:
摘要: 1.hql更新       String hql = "update PhUser set realName=?";       int row=this.getSession().cr
  1. 1.hql更新   
  2.    String hql = "update PhUser set realName=?";   
  3.    int row=this.getSession().createQuery(hql).setString(0"小李想").executeUpdate();   
  4.    PhUser 类名    
  5. 2.hql删除   
  6.    String hql = "delete PhUser a where a.userId=2";   
  7.    int row=this.getSession().createQuery(hql).executeUpdate();   
  8.    还有个这种的格式:   
  9.    final String hql = "delete PhRoleFunction as a where a.roleId = "  
  10.      + roleId;   
  11.    this.getHibernateTemplate().execute(new HibernateCallback() {   
  12.     public Object doInHibernate(Session session)   
  13.       throws HibernateException, SQLException {   
  14.      return session.createQuery(hql).executeUpdate();   
  15.     }   
  16.    });更新也可以写成这样的格式   
  17. 3.hql单表查询   
  18.    String hql = "from PhUser a where a.userId=" + userId;   
  19.    List list = this.getHibernateTemplate().find(hql);   
  20. 4.hql多表查询   
  21.    (1)String hql = "select new map(a.CUId as CUId,a.unitName as unitName,b.CUFId as CUFId,b.UFName as UFName) 
  22.    from PhCorrelativeUnit a,PhCorrelativeUnitFunction b where a.CUId=b.CUId";   
  23.    List list = this.getHibernateTemplate().find(hql);   
  24.    多个表的字段放到map中,map的键值就是as后面的别名,如果没有as就是字段名   
  25.    (2) String hql = "SELECT NEW COM.PHANTOM.APPEAL.ACTION.BEAN.DEALPAPER(A.ID AS ID, A.BILLID AS BILLID, A.STATE AS STATE, A.CREATOR AS CREATOR, A.CREATETIME AS CREATETIME , 26. B.EVENTCONTENT AS EVENTCONTENT , C.REALNAME AS REALNAME, B.BILLCODE AS BILLCODE, 27. B.CITNAME AS CITNAME )
      FROM PHDEALBILL A
          ,PHACCEPTBILL B
          ,PHUSER C 28.WHERE A.DEPARTMENTID="+ billid+ "
       AND A.STATE = 0
       AND A.BILLID = B.BILLID 29.AND A.CREATOR = C.USERID
     ORDER BY A.BILLID
  26. ";   
  27.     return this.getHibernateTemplate().find(hql);   
  28.    另外就是写一个类,对应你要查询的字段,这里的类名是new com.phantom.appeal.action.bean.DealPaper,里面对应查询的字段名   
  29. 5.得到记录数   
  30.    String hql = "select count(*) from PhUser";   
  31.    List list = this.getHibernateTemplate().find(hql);   
  32.    return ((Long) list.get(0)).intValue();

hql语句总结

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
在Aciton中直接进行数据库的操作。 --删除HibernateUtils.deleteAll(this.contentLogicInterface.ge
hibernate运行过程: Hibernate作用 1、hibernate是java应用和关系数据库之间的桥梁,她负责java对
有一次遇到需要在hql语句里用到in了,上一次查了半天也没搞定,最后索性用and、and、and代替了,但
HQL操作 1、Distribute by distribute by col按照col列把数据分散到不同的reduce sort sort by col
最近遇到两次在hql的in中传递参数的问题,最初让我纠结万千。 在dao层已经封装好了一个使用hql获取
最近遇到两次在hql的in中传递参数的问题,最初让我纠结万千。 在dao层已经封装好了一个使用hql获取
最近遇到两次在hql的in中传递参数的问题,最初让我纠结万千。 在dao层已经封装好了一个使用hql获取
最近遇到两次在hql的in中传递参数的问题,最初让我纠结万千。 在dao层已经封装好了一个使用hql获取
1.1 Join的实现原理 select u.name, o.orderid from order o join user u on o.uid = u.uid; 在map
问题:表#lastTable,列为:[provinceId],[allTypeSum],里面有几十行数据,我想选出全部,要排序,但是pro
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号