package com.test; import com.domain.Customer; import com.utils.HibernateUtils; import org.hibernate.SQLQuery; import org.hibernate.Session; import org.hibernate.Transaction; import org.hibernate.query.NativeQuery; import org.junit.Test; import java.util.Arrays; import java.util.List; public class Demo_04 { @Test public void test_01(){ //返回數組list Session session = HibernateUtils.openSession(); Transaction transaction = session.beginTransaction(); String sql = "select * from cst_customer"; //創建sql查詢對象 NativeQuery sqlQuery = session.createSQLQuery(sql); List<Object[]> list = sqlQuery.list(); for(Object[] objects:list){ System.out.println(Arrays.toString(objects)); } transaction.commit(); session.close(); } @Test public void test_02(){ //返回對象list Session session = HibernateUtils.openSession(); Transaction transaction = session.beginTransaction(); String sql = "select * from cst_customer"; NativeQuery sqlQuery = session.createSQLQuery(sql); sqlQuery.addEntity(Customer.class); List<Customer> list = sqlQuery.list(); for(Customer customer : list){ System.out.println(customer); } transaction.commit(); session.close(); } @Test public void test_03(){ //條件查詢 Session session = HibernateUtils.openSession(); Transaction transaction = session.beginTransaction(); String sql = "select * from cst_customer where cust_id = ?0"; NativeQuery sqlQuery = session.createSQLQuery(sql); sqlQuery.setParameter(0,2); sqlQuery.addEntity(Customer.class); Customer customer = (Customer) sqlQuery.uniqueResult(); System.out.println(customer); transaction.commit(); session.close(); } @Test public void test_04(){ //分頁查詢 Session session = HibernateUtils.openSession(); Transaction transaction = session.beginTransaction(); String sql = "select * from cst_customer limit ?0,?1"; NativeQuery sqlQuery = session.createSQLQuery(sql); sqlQuery.setParameter(0,1); sqlQuery.setParameter(1,3); sqlQuery.addEntity(Customer.class); List<Customer> list = sqlQuery.list(); for(Customer customer:list){ System.out.println(customer); } transaction.commit(); session.close(); } }