1 package cn.demo; 2 3 import java.util.Arrays; 4 import java.util.List; 5 6 import org.hibernate.SQLQuery; 7 import org.hibernate.Session; 8 import org.hibernate.Transaction; 9 10 import cn.itcast.domain.Customer; 11 import cn.util.HibernateUtil; 12 13 /** 14 * SQLQuery接口用於接收一個sql語句進行查詢, 15 * 然后調用list()或者uniqueResult()方法進行查詢, 16 * 但是SQL語句不會直接封裝到實體對象中,需要我們手動寫代碼才可以封裝到實體中 17 * 使用時需要在配置文件的 url 中指明連接的數據庫 而 Query 和 Criteria 不需要 18 * @author Administrator 19 * 20 */ 21 public class MySQLQuery { 22 public static void main(String[] args) { 23 Session session = HibernateUtil.getCurrentSession(); 24 Transaction tx = session.beginTransaction(); 25 26 // //1、基本查詢 27 // SQLQuery sqlQuery = session.createSQLQuery("select * from Customer"); 28 // List<Object[]> list = sqlQuery.list(); 29 // for (Object[] objects : list) { 30 // System.out.println(Arrays.toString(objects)); 31 // } 32 33 34 //2、封裝到對象中 35 SQLQuery sqlQuery = session.createSQLQuery(" select * from Customer"); 36 sqlQuery.addEntity(Customer.class); 37 List<Customer> list = sqlQuery.list(); 38 for (Customer customer : list) { 39 System.out.println(customer); 40 } 41 42 43 tx.commit(); 44 } 45 }