Hibernate Hql详解

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]);
		}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值