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 }