zoukankan      html  css  js  c++  java
  • 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();
        }
    
    }
  • 相关阅读:
    我的书单
    写一个小demo过程中遇到的各种问题 学生管理考勤系统(网页模拟)
    高程三 面向对象程序设计
    JavaScript 函数与对象的 简单区别
    高程三 基本包装类型部分的学习
    巨简单巨丑的计算器(写的我快自闭了)
    checked选择器实现tab切换
    JavaScript进行简单的随即验证码生成(适合和我一样刚入门一本完整的教材书都没看完的弟弟)
    dom编程艺术章12
    vue插件开发与发布
  • 原文地址:https://www.cnblogs.com/yz-bky/p/12558408.html
Copyright © 2011-2022 走看看