hibernate查询

Hibernate关于查询

HQL查询

方法:Session#createQuery(“HQL”);

示例1:使用?占位符

Query query = session.createQuery("from User where uName like ?");

query.setString(0, "小%");

List<User> users=query.list();

System.out.println(users);

示例2:使用字符占位符

Query query = session.createQuery("from User where uName like :name");

query.setString("name", "小%");

List<User> users=query.list();

System.out.println(users);

Criteria接口:适合条件查询

示例1

//查询姓名为小明的

Criteria criteria = session.createCriteria(User.class);

criteria.add(Restrictions.eq("uName", "小明"));

List<User> users=criteria.list();

System.out.println(users);

排序:

Session.createQuery(“from User order by u_id desc”);

分页:

Session.createQuery(“from User”).setFirstResult().setMaxResults(3);

投影查询:

只查询几个字段

不使用

List<Object> list=Session.createQuery(“select u_name u_id from User ”).list();

使用:

1、提供构造方法

Session.createQuery(“select new User(u_id,u_name) from User ”).list();

聚合函数:count() sum() avg() max() min()

LIst<Number> list=Session.createQuery(“select count(u) from User  u”).list();

Long count=list.get(0).longValue();

QBC查询(单表查询)

 

排序

 

条件查询

 

使用完聚合函数,如果想再获取对象列表,需要将projection设置为null

离线条件查询

 

通过sql查询(了解)

 

HQL连接查询

 

原文地址:https://www.cnblogs.com/chenkeyu/p/7985258.html