使用Hibernate代码实例

本文主要讲述了在使用Hibernate时,如何实现group by and sum and count。希望本文能教会你更多东西。

专注于为中小企业提供成都网站制作、网站设计、外贸网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业卡若免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

Hibernate是JDBC的升级版,专用连接数据库。它比JDBC简单使用,不需要输入很多的连接数据库代码。提取数据库数据也不用循环提取。使用时的方法为:

1.新建一个Java普通项目

2.创建user library 加入三个地方的jar包:两个hibernate 一个MYSQL驱动

3.创建hibernate配置文件,hibernate.cfg.xml

4.建立实体类user

5.在hibernate文件中寻找eg至底部找出user.hbm.xml映射文件,copy到映射文件所在文件中

6.将映射文件user.hbm.xml部分加入到hibernate.cfg.xml中

7.创建数据库,再利用hibernate将实体映射导入到数据库中

下面是具体实现的代码:

 
 
 
  1. //使用hibernate,实现group by and sum and count  
  2.   Session sess = this.getSession(false);  
  3.   List list = null;  
  4.   if (sess != null) {  
  5.    Criteria cri = sess.createCriteria(getModelClass());  
  6.    cri.add(Expression.allEq(props));  
  7.    // always count id  
  8.    ProjectionList projList = Projections.projectionList();  
  9.    projList.add(Projections.sum(sum));  
  10.    projList.add(Projections.groupProperty(group1));  
  11.    projList.add(Projections.groupProperty(group2));  
  12.    projList.add(Projections.count(count));  
  13.    cri.setProjection(projList);  
  14.    list = cri.list();  
  15.   }  
  16.   listlist = list == null ? new ArrayList() : list;  
  17.   return list;  
  18.  
  19.   //使用hibernate,实现group by and sum and count  
  20.   List listByGroupSum = dao.getListByGroupSumCP(props);  
  21.   Iterator iter = listByGroupSum.iterator();  
  22.   if (!iter.hasNext()) {  
  23.    System.out.println("No objects to display.");  
  24.  
  25.   }  
  26.   while (iter.hasNext()) {  
  27.    System.out.println("New object");  
  28.    Object[] obj = (Object[]) iter.next();  
  29.    for (int i = 0; i < obj.length; i++) {  
  30.     System.out.println(obj[i]);  
  31.    }  
  32.  
  33.   }   
  34.  

网站标题:使用Hibernate代码实例
URL网址:http://www.mswzjz.cn/qtweb/news46/294046.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能