Hibernate QBC学习举例


public void testQBC() {


// 方法 说明
// Restrictions.eq =
// Restrictions.allEq 利用Map来进行多个等于的限制
// Restrictions.gt >
// Restrictions.ge >=
// Restrictions.lt <
// Restrictions.le <=
// Restrictions.between BETWEEN
// Restrictions.like LIKE
// Restrictions.in in
// Restrictions.and and
// Restrictions.or or
// Restrictions.sqlRestriction 用SQL限定查询
//介绍以下几个典型的用法,这样其他的也会用了



/*
* 简单的加些限制条件进行搜索
* Restrictions.eq
*/
/* Session session = factory.openSession();
Criteria criteria = session.createCriteria(User.class);
Criterion criterion1 = Restrictions.eq("addr", "dalian");
Criterion criterion2 = Restrictions.eq("name", "tie");
criteria.add(criterion1);
criteria.add(criterion2);
List users = criteria.list();
for(User user : users){
System.out.println(user.introduce());
System.out.println("**********************");
}*/


/*
* Restrictions.allEq 利用Map来进行多个等于的限制
*/
/* Session session = factory.openSession();
Criteria criteria = session.createCriteria(User.class);
Map para = new HashMap();
para.put("addr", "dalian");
para.put("name", "tie");
Criterion criterion1 = Restrictions.allEq(para);
criteria.add(criterion1);
List users = criteria.list();
for(User user : users){
System.out.println(user.introduce());
System.out.println("**********************");
}*/



/*
* Restrictions.sqlRestriction用SQL限定查询
* Restrictions.sqlRestriction()这里有三个重载的方法,
*/
/* Session session = factory.openSession();
Criteria criteria = session.createCriteria(User.class);
//1. Criterion criterion1 =
Restrictions.sqlRestriction("{alias}.name='tie' and
{alias}.addr='dalian'");

//2. Criterion criterion1 = Restrictions.sqlRestriction("alias}.name=?",
"tie", Hibernate.STRING);


//3. Object[] ob = {"tie","dalian"};
Type[] type = {Hibernate.STRING,Hibernate.STRING};

Criterion criterion1 = Restrictions.sqlRestriction("{alias}.name=?
and {alias}.addr=?", ob, type);
criteria.add(criterion1);
List users = criteria.list();
for(User user : users){
System.out.println(user.introduce());
System.out.println("**********************");
}*/


/*
* 排序
*/
/* Session session = factory.openSession();
Criteria criteria = session.createCriteria(User.class);
criteria.addOrder(Order.desc("age"));
List users = criteria.list();
for(User user : users){
System.out.println(user.introduce());
System.out.println("**********************");
}*/


/*
* 求平均数
*/
/* Session session = factory.openSession();
Criteria criteria = session.createCriteria(User.class);
criteria.setProjection(Projections.avg("age"));
List avg_ages = criteria.list();
for(Double avg_age : avg_ages){
System.out.println("avg_age:"+avg_age);
}*/



/*
* 分组
*/
/* Session session = factory.openSession();
Criteria criteria = session.createCriteria(User.class);
criteria.setProjection(Projections.groupProperty("addr"));
List addrs = criteria.list();
for(String addr : addrs){
System.out.println(addr);
}*/



/*
*过个的条件,同时求平均数和分组
*/
/* Session session = factory.openSession();
Criteria criteria = session.createCriteria(User.class);
ProjectionList projectionList = Projections.projectionList();
projectionList.add(Projections.groupProperty("addr"));
projectionList.add(Projections.avg("age"));
criteria.setProjection(projectionList);
List avgs = criteria.list();
for(Object[] avg : avgs){
System.out.println(avg[0]+":"+avg[1]);
}*/


/*
* DetachedCriteria举例
*
*/

/* DetachedCriteria detachedCriteria = DetachedCriteria
.forClass(User.class);
detachedCriteria.add(Restrictions.eq("addr", "dalian"));

Session session = factory.openSession();
Criteria criteria = detachedCriteria.getExecutableCriteria(session);

List users = criteria.list();
for (User user : users) {
System.out.println(user.introduce());
System.out.println("**********************");
}*/

// session.close();
}


[b]本文转自 http://linweihan.iteye.com/blog/145190[/b]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值