Hibernate使用HQL语句操作数据库

使用hql语句查询数据库需要编写hql语句,hql语句与sql语句类似,只是操作对象变成了对类进行才做,查询的内容也是对类的属性进行查询,Hibernate框架会自动生成相应的sql语句去查询数据库,hql是属于面向对象的查询语言

  1. 基本查询:
	// 根据hql查询所有学生信息,手动创建查询
   public static void chaxunallxuesheng() {
   	Session session = HibernateUtil.getSession();
   	// HQL查询的是实体类的名称,不是数据表的名称
   	Query q = session.createQuery("from Xuesheng");
   	List<Xuesheng> list = q.list();
   	for (Xuesheng xs : list) {
   		System.out.println("姓名:" + xs.getXingming() + ",年龄:" + xs.getNianling());
   	}
   	HibernateUtil.closeSession();
   }
  1. 带条件的sql语句查询
// 根据hql查某个信息,手动创建查询
   public static void chaxunxueshengbyxingming() {
   	Session session = HibernateUtil.getSession();
   	Transaction tx = session.beginTransaction();
   	// HQL查询的是实体类的名称,不是数据表的名称
   	// 按参数位置绑定,使用占位符
   	  Query q = session.createQuery("from Xuesheng where xingming=?");
   	 q.setString(0, "张三");

   	List<Xuesheng> list = q.list();
   	for (Xuesheng xs : list) {
   		System.out.println("姓名:" + xs.getXingming() + ",年龄:" + xs.getNianling());
   	}
   	tx.commit();
   	HibernateUtil.closeSession();
   }

参数绑定方式有多种.具体看下一篇

你可能感兴趣的:(Hibernate框架)