Hibernate之SQL語言查詢


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

    }


}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM