hibernate中的HQL和QBC查詢

2021-08-28 17:04:58 字數 2333 閱讀 7957

//1.讀取src下hibernate.cfg.xml配置檔案

configuration cft = new configuration();

configuration configure = cft.configure();

//2.建立sessionfactory工廠

sessionfactory sessionfactory = configure.buildsessionfactory();

//3.開啟session回話

session session = sessionfactory.opensession();

//4.建立事務

transaction transaction = session.begintransaction();

查詢所有

// query方法查詢所有 from + 表對應的實體類   

query query = session.createquery("from teacher");//通過控制teacher實體運算元據表

listteachers = query.list();

條件查詢

query query = session.createquery("from teacher t where t.tname=?");

query.setparameter(0, "老司機1");//問號的序號從0開始

listlist = query.list();

順序查詢

//desc降序 asc公升序 

query query = session.createquery("from teacher order by tid desc");

listlist = query.list();

模糊查詢

query query = session.createquery("from teacher t where t.tname like ?");//?代表佔位符

query.setparameter(0, "%1%");

listlist = query.list();

分頁查詢

query query = session.createquery("from teacher");

//設定開始位置既最小id

query.setfirstresult(0);

//設定每頁記錄數

query.setmaxresults(2);

listlist = query.list();

查詢所有

criteria criteria = session.createcriteria(teacher.class);//查詢teacher對應的資料表

listlist = criteria.list();

條件查詢

criteria criteria = session.createcriteria(teacher.class);

criteria.add(restrictions.eq("tid", 3));//tid=3

criteria.add(restrictions.eq("tage", "25"));//tage=25

listlist = criteria.list();

模糊查詢

criteria criteria = session.createcriteria(teacher.class);

criteria.add(restrictions.like("tname", "%1%"));//tname like ("%1%")

listlist = criteria.list();

順序查詢

criteria criteria = session.createcriteria(teacher.class);

criteria.addorder(order.desc("tid"));

listlist = criteria.list();

分頁查詢 

criteria criteria = session.createcriteria(teacher.class);

criteria.setfirstresult(0);

criteria.setmaxresults(2);

listlist = criteria.list();

Hibernate中的HQL查詢語句

hibernate查詢語言是物件導向的查詢語言,其結構與sql查詢類似,不同的是,hql查詢的主體是實體化類而不是資料表。hql差詢提供了一種應用與資料庫之間的抽象,從而提高了可移植性。hql查詢的基本事例 query query session.createquery select new use...

Hibernate的HQL中in引數設定

平時經常用hibernate,由於習慣表間不建立關聯,所以hql查詢時候經常要用in語句。我最常用的情況有2種 1 in後是個子查詢,如 from a where a.id in select b.aid from b where 這樣是沒問題的,如果a.id 和b.aid是相同的資料型別。2 in...

hibernate 的 HQL學習筆記

hql之佔位查詢 1.方案一 匿名佔位符 test public void test02 2.方案二 name 引數名稱繫結 test public void test03 3.方案三 name 引數名稱繫結 物件屬性 test public void test04 hql語句之動態查詢 1.動態查...