Hibernate使用hql語句操作資料庫
阿新 • • 發佈:2018-11-19
使用hql語句,對資料庫進行批量查詢、條件查詢、分頁查詢
package com.kd.test; import java.util.List; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.hibernate.query.Query; import org.junit.Test; import com.kd.entity.User; public class Demo01 { //hql的批量查詢 @Test public void fun(){ //獲取配置檔案物件 Configuration config=new Configuration().configure(); //構建SessionFactory SessionFactory factory = config.buildSessionFactory(); //生產session,可以理解為jdbc中的connection Session session = factory.openSession(); //開啟事務 Transaction transaction = session.beginTransaction(); //建立hql語句 String hql ="from User"; //建立查詢 Query query = session.createQuery(hql); List list = query.list(); //提交事務 transaction.commit(); //關閉session session.close(); System.out.println(list); } //hql條件查詢 @Test public void fun1(){ //獲取配置檔案物件 Configuration config=new Configuration().configure(); //構建SessionFactory SessionFactory factory = config.buildSessionFactory(); //生產session,可以理解為jdbc中的connection Session session = factory.openSession(); //開啟事務 Transaction transaction = session.beginTransaction(); //建立hql語句,命名佔位符 String hql ="from User where id=:id"; //佔位符 // String hql="from User where id=?0"; //建立查詢 Query query = session.createQuery(hql); query.setParameter("id", 1); // 佔位符使用query.setParameter(0, 1) // query.setParameter(0, 1); User user = (User) query.uniqueResult(); //提交事務 transaction.commit(); //關閉session session.close(); System.out.println(user); } //hql的分頁查詢 @Test public void fun2(){ //獲取配置檔案物件 Configuration config=new Configuration().configure(); //構建SessionFactory SessionFactory factory = config.buildSessionFactory(); //生產session,可以理解為jdbc中的connection Session session = factory.openSession(); //開啟事務 Transaction transaction = session.beginTransaction(); //建立hql語句 String hql ="from User"; Query query = session.createQuery(hql); //從哪開始==pageindex query.setFirstResult(1); //查詢幾條==pagesize query.setMaxResults(3); List list = query.list(); //提交事務 transaction.commit(); //關閉session session.close(); System.out.println(list); } }