本文主要讲述了在使用Hibernate时,如何实现group by and sum and count。希望本文能教会你更多东西。
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将实体映射导入到数据库中
下面是具体实现的代码:
- //使用hibernate,实现group by and sum and count
- Session sess = this.getSession(false);
- List list = null;
- if (sess != null) {
- Criteria cri = sess.createCriteria(getModelClass());
- cri.add(Expression.allEq(props));
- // always count id
- ProjectionList projList = Projections.projectionList();
- projList.add(Projections.sum(sum));
- projList.add(Projections.groupProperty(group1));
- projList.add(Projections.groupProperty(group2));
- projList.add(Projections.count(count));
- cri.setProjection(projList);
- list = cri.list();
- }
- listlist = list == null ? new ArrayList() : list;
- return list;
- //使用hibernate,实现group by and sum and count
- List listByGroupSum = dao.getListByGroupSumCP(props);
- Iterator iter = listByGroupSum.iterator();
- if (!iter.hasNext()) {
- System.out.println("No objects to display.");
- }
- while (iter.hasNext()) {
- System.out.println("New object");
- Object[] obj = (Object[]) iter.next();
- for (int i = 0; i < obj.length; i++) {
- System.out.println(obj[i]);
- }
- }
【编辑推荐】