利用Hibernate 框架,實現對數據庫的增刪改查


增:

package com.maya.test;
import org.hibernate.*;
import org.hibernate.cfg.*;

import com.maya.model.Family;    
public class Test2 {

    public static void main(String[] args) {
        
        Configuration config=new Configuration().configure();
        SessionFactory factory=config.buildSessionFactory();    
        Session session=factory.openSession();                    
        
        //增加
        Family family=new Family();
        family.setInfoCode("p004");
        family.setName("張三");
        family.setTitle("T003");
        family.setFirm("齊魯石化濟南分公司");
        family.setOrders(4);
        
        try{
            session.beginTransaction();    //事務開始
            session.save(family);
            session.getTransaction().commit();        //事務提交
        }
        catch(Exception e){
            session.getTransaction().rollback();//如果發生錯誤,事務回滾
        }
        
        session.close();//關閉session
        }
    }

 

Hibernate框架自動生成如下語句,將數據插入數據庫中

 

查詢

package com.maya.test;
import java.util.List;

import org.hibernate.*;
import org.hibernate.cfg.*;

import com.maya.model.Family;    
public class Test2 {

    public static void main(String[] args) {
        
        Configuration config=new Configuration().configure();
        SessionFactory factory=config.buildSessionFactory();    
        Session session=factory.openSession();                    
        
//        //查詢(根據主鍵來查)
//        Family fa=session.load(Family.class, 11);
//        if(fa!=null){
//            System.out.println(fa.getName()+" "+fa.getInfoCode());
//        }
        
        List<Family> list=session.createQuery("from Family").getResultList();   //這里的Family對應的是實體類,不是sql語句中的family
        
        for(Family fa:list){
            System.out.println(fa.getName()+" "+fa.getInfoCode());
        }
        
        

        session.close();//關閉session
        }
    }

 

查詢結果如下:SQL語句自動生成

 

 

刪除:

package com.maya.test;
import java.util.List;

import org.hibernate.*;
import org.hibernate.cfg.*;

import com.maya.model.Family;    
public class Test2 {

    public static void main(String[] args) {
        
        Configuration config=new Configuration().configure();
        SessionFactory factory=config.buildSessionFactory();    
        Session session=factory.openSession();                    

        Family fa=session.get(Family.class,13);    //先查詢
        if(fa!=null){
            session.beginTransaction();
            session.delete(fa);                        //后刪除
            session.getTransaction().commit();;
        }
        
        session.close();//關閉session
        }
    }

package com.maya.test;
import java.util.List;

import org.hibernate.*;
import org.hibernate.cfg.*;

import com.maya.model.Family;    
public class Test2 {

    public static void main(String[] args) {
        
        Configuration config=new Configuration().configure();
        SessionFactory factory=config.buildSessionFactory();    
        Session session=factory.openSession();                    

        Family fa=session.get(Family.class,10);    //先查詢
        if(fa!=null){
            session.beginTransaction();
            fa.setName("盲僧");
            fa.setFirm("召喚師峽谷");
            session.update(fa);
            session.getTransaction().commit();
        }
        session.close();//關閉session
        }
    }

 

注意:但凡涉及到數據操作(增刪改)都要加上事務,保證數據增刪改的的一致性


免責聲明!

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



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