hibernate-4 curd

增刪改查

直接上代碼
事務回滾放在后面 分層 因為是Test測試 每次測試完畢會釋放內(nèi)存 就算出現(xiàn)異常 資源沒有關(guān)閉也不會影響 ,但是在正常項目中要關(guān)閉資源 保存操作即正確操作 ,出現(xiàn)異常進行回滾

get 與 load的區(qū)別

load 懶加載 結(jié)果是實體的代理類
get 查詢就加載 結(jié)果是實體類

/**
     * 測試保存
     */
    @Test
    public void testSave() {
        //事務問題
        Customer customer = new Customer();
        customer.setCustName("測試保存功能");
        Session session = null;
        Transaction tx = null;
        try {
            session = HibernateUtils.openSession();
            tx = session.beginTransaction();
            session.save(customer);
            tx.commit();
        } catch (Exception e) {
            tx.rollback();
        } finally {
            session.close();
        }
    }
    
    /**
     * 測試修改
     */
    @Test
    public void testUpdate() {
        Session session = HibernateUtils.openSession();
        Transaction tx = session.beginTransaction();
        Customer customer = session.get(Customer.class, 94L);
        customer.setCustAddress("北京天安門");
        customer.setCustPhone("15666667662");
        customer.setCustLevel("超級測試級別");
        session.update(customer);
        tx.commit();
        session.close();
    }
    
    /**
     * 測試刪除 刪除必須傳一個實體
     */
    @Test 
    public void testDelete() {
        Session session = HibernateUtils.openSession();
        Transaction tx = session.beginTransaction();
        Customer customer = session.get(Customer.class, 95L);
        session.delete(customer);
        tx.commit();
        session.close();
    }
    
    /**
     * 測試查詢
     */
    @Test
    public void testFindOne() {
        Session session = HibernateUtils.openSession();
        Transaction tx = session.beginTransaction();
        Customer customer = session.get(Customer.class, 94L);
        System.out.println(customer.getCustName());
        tx.commit();
        session.close();
    }
    
    @Test
    public void testFinaAll() {
        Session session = HibernateUtils.openSession();
        Transaction tx = session.beginTransaction();
        SQLQuery sqlQuery = session.createSQLQuery("SELECT * FROM cst_customer");
        List<Object[]> list = sqlQuery.list();
        
        for(Object[] os : list){
            System.out.println("數(shù)組內(nèi)容 " + os);
            for (Object o : os) {
                System.out.println("object 內(nèi)容" + o);
            }
        }
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容