Hibernate简单检索方式(查询方式)

Hibernate提供以下几种检索对象的方式

1.OID检索方式:按照对象的OID来检索对象

2.HQL检索方式:使用面向对象的HQL查询语言

3.QBC检索方式:使用QBC检索对象

4.sql语句查询

首先搭建一个项目

创建实体类

编写映射文件

测试类代码

public class test {
    
    @Test
    public void test1() {
        Session session = HibernateUtil.openSession();
        Transaction tx = session.beginTransaction();
        //使用OID方式查询
        //后面的1就是id的值也就是查询id值为1的用户
        //get()和load()的区别    get查询时id不存在时会返回null  load查询时id不存在会报错
        User user1 = (User) session.get(User.class, 10);
//        User user2 = (User) session.load(User.class, 10);
        System.out.println(user1);
//        System.out.println(user2);
        tx.commit();
        session.close();
    }
    @Test
    public void test2() {
        Session session = HibernateUtil.openSession();
        Transaction tx = session.beginTransaction();
        //使用QBC查询方式
        List<User> list = session.createCriteria(User.class).list();
        for (User user : list) {
            System.out.println(user);
        }
        tx.commit();
        session.close();
    }
    @Test
    public void test3() {
        Session session = HibernateUtil.openSession();
        Transaction tx = session.beginTransaction();
        //使用HQL查询方式
        List<User> list = session.createQuery("from User").list();
        for (User user : list) {
            System.out.println(user);
        }
        tx.commit();
        session.close();
    }
    @Test
    public void test4() {
        Session session = HibernateUtil.openSession();
        Transaction tx = session.beginTransaction();
        //使用SQL查询方式 有两种方式
/*        List<Object[]> list = session.createSQLQuery("select * from User").list();
        for (Object[] user : list) {
            System.out.println(Arrays.toString(user));
        }*/
        List<User> list = session.createSQLQuery("select * from User")
                .addEntity(User.class)
                .list();
        for (User user : list) {
            System.out.println(user);
        }
        tx.commit();
        session.close();
    }
    @Test
    public void test5() {
        Session session = HibernateUtil.openSession();
        Transaction tx = session.beginTransaction();
        //别名的使用查询
/*        List<User> list = session.createQuery("from User u").list();
        System.out.println(list);*/
        // 使用别名带参数查询
        List<User> list = session.createQuery("from User as u where u.username = ?").setString(0, "赵云").list();
        System.out.println(list);
        tx.commit();
        session.close();
    }

}
原文地址:https://www.cnblogs.com/yz-bky/p/12558408.html