Hibernate 查询

1 基于hibernate, 获得所有列。

Query query = session.createQuery("from mytable as ta where ta.name like :name and a.email=:email");  
query.setParameter("name","%"+user_name+"%");
query.setParameter("email",user_email);
/*
也可以用,注意从1开始。
query.setParameter(1,"%"+user_name+"%");
query.setParameter(2,user_email);
*/

//Join
from mytable as ta join content as co where 1=1 and ta.user_id=co.user_id and ...

2 获得部分列

三种方法:
*返回元素为Object[]的列表。
Query query = session.createQuery("select name,pass from User as u"); 
遍历列表:
List<Map<String,String> result =new ArrayList<Map<String,String>();
for(Object[] obj :query.getResultList())
{
    Map map=new HashMap<String,String>();
    map.put("name",obj[0]);
    map.put("pass",obj[1]);
    result.add(map);
}

*返回List
Query query = session.createQuery("select new List(u.name,u.pass) from User as u");
返回结果[["test1","123"],["test2","345"]...]

*返回Map
Query query = session.createQuery("select new Map(u.name as name,u.pass as pass) from User as u");
返回结果[{"name"="test1","pass"="123"},{"name"="test2","pass"="345"}...]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值