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 }