hql语句总结

编程技术  /  houtizong 发布于 3年前   153
  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();

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客