您好,登錄后才能下訂單哦!
這篇文章主要介紹“Hibernate的QBC查詢方法怎么使用”,在日常操作中,相信很多人在Hibernate的QBC查詢方法怎么使用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Hibernate的QBC查詢方法怎么使用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
? Criteria對象提供了一種面向對象的方式查詢數據庫。Criteria對象需要使用Session對象來獲得。
? 一個Criteria對象表示對一個持久化類的查詢。
查詢所有
session.beginTransaction(); Criteria c = session.createCriteria(User.class);List<User> userList = c.list();for(User user:userList){ System.out.println(user.getUserName()); } session.getTransaction().commit();
where
session.beginTransaction(); Criteria c = session.createCriteria(User.class); c.add(Restrictions.eq("userName", "James")); List<User> userList = c.list();for(User user:userList){ System.out.println(user.getUserName()); } session.getTransaction().commit();
Restrictions對象
方法名稱 對應SQL中的表達式 ---------------------------------------------------------- Restrictions.eq field = value Restrictions.gt field > value Restrictions.lt field < value Restrictions.ge field >= value Restrictions.le field <= value Restrictions.between field between value1 and value2 Restrictions.in field in(…) Restrictions.and andRestrictions.or orRestrictions.like field like value
示例
Criteria c = session.createCriteria(User.class); c.add(Restrictions.like("userName", "J")); c.add(Restrictions.eq("id", 120)); c.add(Restrictions.or(Restrictions.eq("userName", "James"), Restrictions.eq("userName", "Alex")));
獲取唯一記錄
session.beginTransaction(); Criteria c = session.createCriteria(User.class); c.add(Restrictions.eq("id", 120)); User user = (User) c.uniqueResult(); System.out.println(user.getUserName()); session.getTransaction().commit();
分頁
Criteria c = session.createCriteria(User.class); c.setFirstResult(0); c.setMaxResults(5);
分組與統計
session.beginTransaction(); Criteria c = session.createCriteria(User.class); c.setProjection(Projections.sum("id")); Object obj = c.uniqueResult(); System.out.println(obj); session.getTransaction().commit();
Projections對象
方法名稱 描述-------------------------------------------------------Projections.sum 等于SQL中聚合函數sumProjections.avg 等于SQL中聚合函數avgProjections.count 等于SQL中聚合函數countProjections .distinct 去除重復記錄Projections.max 等于SQL中聚合函數maxProjections.min 等于SQL中聚合函數minProjections .groupProperty 對指定的屬性進行分組查詢
多個統計與分組
session.beginTransaction(); Criteria c = session.createCriteria(User.class); ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.sum("id")); projectionList.add(Projections.min("id")); c.setProjection(projectionList);// 和HQL一樣,單列用Object,多列用Object[]Object[] obj = (Object[]) c.uniqueResult(); System.out.println("sum:" + obj[0]); System.out.println("min:" + obj[1]);
排序
Criteria c = session.createCriteria(User.class); c.addOrder(Order.desc("id"));
到此,關于“Hibernate的QBC查詢方法怎么使用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。