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();
}
}