欢迎光临
我们一直在努力

Hibernate QBC的检索方式:组合查询和分页查询

前面我们已经详细介绍过 Criteria 接口的功能及使用步骤,并通过示例演示了条件查询,接下来将对 QBC 中的其他两种常用的检索方式进行讲解。

组合查询

组合查询是指通过 Restrictions 工具类的相应方法动态地构造查询条件,并将查询条件加入 Criteria 对象,从而实现查询功能。

下面通过具体案例演示如何实现 QBC 检索中的组合查询。在 com.mengma.test 包下,创建一个名为 QBCTest 的类,在该类下添加一个 test1() 方法,该方法用于查询 id 为 3 或者 name 为 wangwu 的用户信息,如下所示。

package com.mengma.test;

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.Restrictions;
import org.junit.Test;

import com.mengma.domain.HibernateUtils;
import com.mengma.domain.User;

public class QBCTest {
    // 组合查询
    @Test
    public void testl() {
        Session session = HibernateUtils.getSession();
        session.beginTransaction();
        Criteria criteria = session.createCriteria(User.class);
        Criterion criterion = Restrictions.or(Restrictions.eq("id", 3),
                Restrictions.eq("name", "wangwu")); // 设定查询条件
        criteria.add(criterion); // 添加查询条件
        List<User> list = criteria.list(); // 执行查询,返回查询结果
        for (User u : list) {
            System.out.println(u);

        }
        session.getTransaction().commit();
        session.close();
    }
}

上述代码中,使用了 Restrictions 对象编写查询条件,并将查询条件加入到了 Criteria 对象中。使用 JUnit 测试运行 test1() 方法,运行成功后,控制台的输出结果如图 1 所示。

输出结果
图 1  输出结果

赞(0) 打赏
未经允许不得转载:hosteons中文网 » Hibernate QBC的检索方式:组合查询和分页查询

评论 抢沙发

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册