hql语句总结

本文深入探讨了HQL查询的使用,包括更新、删除、单表查询、多表查询及获取记录数的方法。详细解释了如何通过HQL进行数据库操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  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();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值