1,查询一个表的所有数据
from Commodity
2,加上条件,c是Commodity的别名
from Commodity c where c.price<=200
3,多个条件之间,and,or ,为空的条件可以是 name=null,name<>null
from Commodity c where c.price between 1000 and 5000 and c.category like '%电脑%' or name like '%电脑%'
from Commodity c where c.price<200 or c.price>3000
from Commodity c where c.price*5>3000
from Order o where o.orderItems is not empty
4,order by排序
from Commodity order by seller.id asc,price desc,name asc
5,排除重复的
select distinct c.sex from Customer c
6,查询一列放到list中,取值如下。
select new list(c.name,c.sex,c.age,c.tel) from Customer c
Query query = session.createQuery(hql);
List<List> lists = query.list();
for(List list : lists){
System.out.println("name:"+list.get(0));
System.out.println("sex:"+list.get(1));
System.out.println("age"+list.get(2));
System.out.println("tel:"+list.get(3));
}
7,查询列map放到中,取值如下
select new map(c.name,c.sex,c.age,c.tel ) from Customer c
Query query = session.createQuery(hql);
List<Map> maps = query.list();
for(Map map : maps){
System.out.println("name:"+map.get("0"));
System.out.println("sex:"+map.get("1"));
System.out.println("age:"+map.get("2"));
System.out.println("tel:"+map.get("3"));
}
8,一行数据放到数组
select c.name,c.tel,c.age from Customer c
Query query = session.createQuery(hql);
List<Object[]> list = query.list();
for(Object[] objs : list){
System.out.println("name:"+objs[0]);
System.out.println("tel:"+objs[1]);
System.out.println("age:"+objs[2]);
}