HQL 实用技术
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HQL 实用技术相关的知识,希望对你有一定的参考价值。
1.Hibernate查询方式
1.get|load(class,id):OID查询
2.HQL(Hibernate Query Lanage):HQL查询
3.QBC(Query By Criteria):Criteria查询
4.原生SQL查询(Native Sql):使用Hibernate来执行sql语句
5.命名查询:在映射文件中定义字符串形式的查询语句
2.Hibernate查询操作
2.1、HQL:(update delete select)
HQL查询示例:
1.获得Session
Session session = HibernateSessionFactory.getSession();
2.编写hql
String hql = "from Dept";
3.通过Session创建Query对象
Query query = session.createQuery(hql);
4.通过Query对象执行hql查询
List<Dept> list = query.list();
for(Dept dept:list){
System.out.println(dept.getDname());
}
5.关闭Session
session.close();
eg:
1.不带条件查询
String hql = "from Book"
Query query = session.createQuery(hql);
2.带条件查询
String hql = "from Book where bookName=?"
Query query = session.createQuery(hql);
query.setString(0,"Oracle");
query.setParameter(0,"Oracle");
3.投影查询
3.1:只查询对象的某个属性 封装指定类型集合
Query query = session.createQuery("select name from Users");
List<String> names = query.list();
3.2:查询对象的多个属性 封装Object数组集合
Query query = session.createQuery("select name,pwd from Users");
List<Object[]> users = query.list();
3.3:查询对象的多个属性 封装成对象 在pojo中提供相应的构造函数
Query query = session.createQuery("select new Users(name,pwd) from Users");
List<Users> users = query.list();
4、查询绑定参数的方式
按参数位置绑定
根据数据类型使用set方法(下标,参数值)
按参数名绑定
使用setParameter(参数名,参数值)
使用对象作为方法参数进行查询
setProperties(对象名);
1.get|load(class,id):OID查询
2.HQL(Hibernate Query Lanage):HQL查询
3.QBC(Query By Criteria):Criteria查询
4.原生SQL查询(Native Sql):使用Hibernate来执行sql语句
5.命名查询:在映射文件中定义字符串形式的查询语句
2.Hibernate查询操作
2.1、HQL:(update delete select)
HQL查询示例:
1.获得Session
Session session = HibernateSessionFactory.getSession();
2.编写hql
String hql = "from Dept";
3.通过Session创建Query对象
Query query = session.createQuery(hql);
4.通过Query对象执行hql查询
List<Dept> list = query.list();
for(Dept dept:list){
System.out.println(dept.getDname());
}
5.关闭Session
session.close();
eg:
1.不带条件查询
String hql = "from Book"
Query query = session.createQuery(hql);
2.带条件查询
String hql = "from Book where bookName=?"
Query query = session.createQuery(hql);
query.setString(0,"Oracle");
query.setParameter(0,"Oracle");
3.投影查询
3.1:只查询对象的某个属性 封装指定类型集合
Query query = session.createQuery("select name from Users");
List<String> names = query.list();
3.2:查询对象的多个属性 封装Object数组集合
Query query = session.createQuery("select name,pwd from Users");
List<Object[]> users = query.list();
3.3:查询对象的多个属性 封装成对象 在pojo中提供相应的构造函数
Query query = session.createQuery("select new Users(name,pwd) from Users");
List<Users> users = query.list();
4、查询绑定参数的方式
按参数位置绑定
根据数据类型使用set方法(下标,参数值)
按参数名绑定
使用setParameter(参数名,参数值)
使用对象作为方法参数进行查询
setProperties(对象名);
以上是关于HQL 实用技术的主要内容,如果未能解决你的问题,请参考以下文章