博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hibernate5-查询与排序
阅读量:6295 次
发布时间:2019-06-22

本文共 5773 字,大约阅读时间需要 19 分钟。

1.创建项目,项目名称hibernatedemo4,目录结构如图所示

2.在项目中创建lib目录存储jar文件,目录结构如图所示

3.在src目录中创建实体Bean Forum,包名(com.mycompany.demo.bean),如图所示

4.实体Bean Forum的内容如下

package com.mycompany.demo.bean;public class Forum {	private int fid;	private String name;	public Forum() {		super();	}	public Forum(String name) {		super();		this.name = name;	}	public int getFid() {		return fid;	}	public void setFid(int fid) {		this.fid = fid;	}	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}	@Override	public int hashCode() {		final int prime = 31;		int result = 1;		result = prime * result + fid;		result = prime * result + ((name == null) ? 0 : name.hashCode());		return result;	}	@Override	public boolean equals(Object obj) {		if (this == obj)			return true;		if (obj == null)			return false;		if (getClass() != obj.getClass())			return false;		Forum other = (Forum) obj;		if (fid != other.fid)			return false;		if (name == null) {			if (other.name != null)				return false;		} else if (!name.equals(other.name))			return false;		return true;	}}

5.在src目录中创建实体Bean Forum的映射文件Forum.hbm.xml,包名(com.mycompany.demo.bean),如图所示

6.映射文件Forum.hbm.xml的内容如下

 
   
      
         This class contains the forum detail.             
      
      
         
                  
      
   

7.在src目录中创建工具类 HbnUtil,包名(com.mycompany.demo.util),如图所示

8.工具类 HbnUtil的内容如下

package com.mycompany.demo.util;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;public class HbnUtil {	private static SessionFactory sessionFactory;		public static Session getSession(){		if(sessionFactory == null || sessionFactory.isClosed()){			sessionFactory = new Configuration().configure().buildSessionFactory();		}				return sessionFactory.getCurrentSession();	}}

9.在src目录中创建Hibernate的配置文件hibernate.cfg.xml,如图所示

10.Hibernate的配置文件hibernate.cfg.xml的内容如下

   
   
   
org.hibernate.dialect.MySQLDialect    
   
com.mysql.jdbc.Driver    
   
jdbc:mysql://localhost:3306/b_shequ_two    
   
      root        
   
   
   
update    
   
true    
   
true    
   
thread           
   
       org.hibernate.c3p0.internal.C3P0ConnectionProvider         
   

11.在项目中创建test目录存储测试文件,文件名称ManageForum,包名(com.mycompany.demo.bean),目录结构如图所示

12.ManageForum测试类的内容如下

package com.mycompany.demo.bean;import java.util.List;import org.hibernate.HibernateException;import org.hibernate.Query;import org.hibernate.SQLQuery;import org.hibernate.Session;import org.hibernate.Transaction;import org.hibernate.criterion.Order;import org.junit.Before;import org.junit.Test;import com.mycompany.demo.util.HbnUtil;public class ManageForum {		private Session session;		@Before	public void init(){		session = HbnUtil.getSession();	}		/*	 * 添加数据	 */	@Test	public void testSave(){		try {			session.beginTransaction();			for(int i = 0;i < 10;i++){				Forum forum = new Forum("forum"+i);				session.save(forum);			}						session.getTransaction().commit();		} catch (Exception e) {			session.getTransaction().rollback();			e.printStackTrace();		}	}		/*	 * 查询所有-SQL	 */	@Test	public void testQueryForSql(){		try {			session.beginTransaction();			String sql = "SELECT * FROM hnsq_forum";			List
 forums = session.createSQLQuery(sql).addEntity(Forum.class).list(); for (Forum forum : forums) { System.out.println(forum.getName()); } session.getTransaction().commit(); } catch (Exception e) { session.getTransaction().rollback(); e.printStackTrace(); } } /*  * 查询所有-HQL  */ @Test public void testQueryForHQL(){ try { session.beginTransaction(); String hql = "FROM Forum"; List
 forums = session.createQuery(hql).list(); for (Forum forum : forums) { System.out.println(forum.getName()); } session.getTransaction().commit(); } catch (Exception e) { session.getTransaction().rollback(); e.printStackTrace(); } } /*  * 查询所有-QBC  */ @Test public void testQueryForQBC(){ try { session.beginTransaction(); List
 forums = session.createCriteria(Forum.class).list(); for (Forum forum : forums) { System.out.println(forum.getName()); } session.getTransaction().commit(); } catch (HibernateException e) { session.getTransaction().rollback(); e.printStackTrace(); } } /*  * 对查询结果进行排序-SQL  */ @Test public void testOrderForSQL(){ try { session.beginTransaction(); String sql = "SELECT * FROM hnsq_forum ORDER BY fid desc"; List
 forums = session.createSQLQuery(sql).addEntity(Forum.class).list(); for (Forum forum : forums) { System.out.println(forum.getName()); } session.getTransaction().commit(); } catch (Exception e) { session.getTransaction().rollback(); e.printStackTrace(); } } /*  * 对查询结果进行排序-HQL  */ @Test public void testOrderForHQL(){ try { session.beginTransaction(); String hql = "FROM Forum ORDER BY fid desc"; List
 forums = session.createQuery(hql).list(); for (Forum forum : forums) { System.out.println(forum.getName()); } session.getTransaction().commit(); } catch (Exception e) { session.getTransaction().rollback(); e.printStackTrace(); } } /*  * 对查询结果进行排序-QBC  */ @Test public void testOrderForQBC(){ try { session.beginTransaction(); List
 forums = session.createCriteria(Forum.class) .addOrder(Order.desc("fid")).list(); for (Forum forum : forums) { System.out.println(forum.getName()); } session.getTransaction().commit(); } catch (HibernateException e) { session.getTransaction().rollback(); e.printStackTrace(); } } }

'

本文转自 素颜猪 51CTO博客,原文链接:http://blog.51cto.com/suyanzhu/1911338

转载地址:http://phvta.baihongyu.com/

你可能感兴趣的文章
QT liunx 工具下载
查看>>
内核源码树
查看>>
Java 5 特性 Instrumentation 实践
查看>>
AppScan使用
查看>>
Java NIO框架Netty教程(三) 字符串消息收发(转)
查看>>
Ucenter 会员同步登录通讯原理
查看>>
php--------获取当前时间、时间戳
查看>>
Spring MVC中文文档翻译发布
查看>>
docker centos环境部署tomcat
查看>>
JavaScript 基础(九): 条件 语句
查看>>
Linux系统固定IP配置
查看>>
配置Quartz
查看>>
Linux 线程实现机制分析
查看>>
继承自ActionBarActivity的activity的activity theme问题
查看>>
设计模式01:简单工厂模式
查看>>
项目经理笔记一
查看>>
Hibernate一对一外键双向关联
查看>>
mac pro 入手,php环境配置总结
查看>>
MyBatis-Plus | 最简单的查询操作教程(Lambda)
查看>>
rpmfusion 的国内大学 NEU 源配置
查看>>