Hibernate架構之路(四)hibernate查詢方式

來源:互聯網
上載者:User

標籤:test   tran   實體類   cti   cep   模糊查詢   實體   list   on()   

OID查詢

    /**     * OID 查詢     * 根據ID查詢     * 一對多查詢     */    @Test    public void test() {        SessionFactory factory = null;        Session session = null;        Transaction ts = null;        try {            factory = HibernateUtils.getSessionFactory();            session = factory.openSession();            ts = session.beginTransaction();//            查詢客戶所擁有的連絡人;先查詢客戶 ID=1的客戶;根據客戶查詢連絡人            User user = session.get(User.class, 1);            //獲得連絡人的set集合            Set<Link> link = user.getLink();//            輸出連絡人個數            System.out.println(link.size());            ts.commit();        } catch (Exception e) {            ts.rollback();        }finally{            session.close();            factory.close();        }    }

HQL查詢所有

    /**     *查詢所有     *hql     */    @Test    public void test2() {        SessionFactory factory = null;        Session session = null;        Transaction ts = null;        try {            factory = HibernateUtils.getSessionFactory();            session = factory.openSession();            ts = session.beginTransaction();//            查詢所有客戶    from 客戶實體類名稱            Query query = session.createQuery("from User");            List<User> list = query.list();            for (User user : list) {                System.out.println(user.getuId()+"\t"+user.getuName());            }            System.out.println("-------------------------");            Query query2 = session.createQuery("from Link");            List<Link> list2 = query2.list();            for (Link link : list2) {                System.out.println(link.getcId()+"\t"+link.getcName());            }            ts.commit();        } catch (Exception e) {            ts.rollback();        }finally{            session.close();            factory.close();        }    }

Hql條件查詢

@Test    public void test2() {        SessionFactory factory = null;        Session session = null;        Transaction ts = null;        try {            factory = HibernateUtils.getSessionFactory();            session = factory.openSession();            ts = session.beginTransaction();            //建立query對象    from Cuastomer where user_id=? and user_name=?            Query query = session.createQuery("from User c where c.uId=? and c.uName=?");            /**             * 向預留位置裡填寫資料;預留位置下標從0開始             * 第一個參數為下標             * 第二個參數為值             */            query.setParameter(0, 1);            query.setParameter(1, "張三");            List<User> list = query.list();            for (User user : list) {                System.out.println(user.getuTel());            }            ts.commit();        } catch (Exception e) {            ts.rollback();        }finally{            session.close();            factory.close();        }    }

hql模糊查詢

    @Test    public void test2() {        SessionFactory factory = null;        Session session = null;        Transaction ts = null;        try {            factory = HibernateUtils.getSessionFactory();            session = factory.openSession();            ts = session.beginTransaction();            //建立query對象                Query query = session.createQuery("from User c where c.uName like ?");            /**             * 向預留位置裡填寫資料;預留位置下標從0開始             * 第一個參數為下標             * 第二個參數為值             */            query.setParameter(0, "%張%");            List<User> list = query.list();            for (User user : list) {                System.out.println(user.getuTel());            }            ts.commit();        } catch (Exception e) {            ts.rollback();        }finally{            session.close();            factory.close();        }    }

hql排序

    @Test    public void test2() {        SessionFactory factory = null;        Session session = null;        Transaction ts = null;        try {            factory = HibernateUtils.getSessionFactory();            session = factory.openSession();            ts = session.beginTransaction();            //建立query對象    desc 倒序     asc正序            Query query = session.createQuery("from User order by uId asc");                    List<User> list = query.list();            for (User user : list) {                System.out.println(user.getuId());            }            ts.commit();        } catch (Exception e) {            ts.rollback();        }finally{            session.close();            factory.close();        }    }

HQL分頁

    @Test    public void test2() {        SessionFactory factory = null;        Session session = null;        Transaction ts = null;        try {            factory = HibernateUtils.getSessionFactory();            session = factory.openSession();            ts = session.beginTransaction();            //建立query對象                Query query = session.createQuery("from User");            query.setFetchSize(0);//開始位置            query.setMaxResults(3);    //每頁顯示個數                List<User> list = query.list();            for (User user : list) {                System.out.println(user.getuId());            }            ts.commit();        } catch (Exception e) {            ts.rollback();        }finally{            session.close();            factory.close();        }    }

hql查詢某個欄位

    @Test    public void test2() {        SessionFactory factory = null;        Session session = null;        Transaction ts = null;        try {            factory = HibernateUtils.getSessionFactory();            session = factory.openSession();            ts = session.beginTransaction();            //建立query對象                Query query = session.createQuery("select uId from User");            List<Object> list = query.list();            for (Object object : list) {                System.out.println(object);            }            ts.commit();        } catch (Exception e) {            ts.rollback();        }finally{            session.close();            factory.close();        }    }

hql函數查詢

    @Test    public void test2() {        SessionFactory factory = null;        Session session = null;        Transaction ts = null;        try {            factory = HibernateUtils.getSessionFactory();            session = factory.openSession();            ts = session.beginTransaction();            //建立query對象                Query query = session.createQuery("select count(*) from User");            Object obj = query.uniqueResult();            Long lbj = (long) obj;            int count =    lbj.intValue();            System.out.println(count);                ts.commit();        } catch (Exception e) {            ts.rollback();        }finally{            session.close();            factory.close();        }    }

 

Hibernate架構之路(四)hibernate查詢方式

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.