Hibernate串連mysql資料庫並自動建立表,hibernatemysql

來源:互聯網
上載者:User

Hibernate串連mysql資料庫並自動建立表,hibernatemysql

天才第一步,雀氏紙尿褲,Hibernate第一步,串連資料庫。

Hibernate是一個開放原始碼的對象關係映射架構,它對JDBC進行了非常輕量級的對象封裝,它將POJO與資料庫表建立映射關係,是一個全自動的orm架構,hibernate可以自動產生SQL語句,自動執行,使得Java程式員可以隨心所欲的使用對象編程思維來操縱資料庫。 所以說,Hibernate講白了就是簡化了與資料庫之間的操作,那麼要玩轉它自然就得串連上資料庫咯。(與Hibernate對應的orm架構還有Mybatis,只不過Mybatis是半自動的,但是個人感覺更喜歡Mybatis,更自由,擴充性更強)。

今天就給大家分享一下Hibernate怎麼串連mysql資料庫並自動建立表,至於其他資料庫的串連其實是同理的,大家自己學會舉一反三。

第一步:隨便建立一個java項目,麻痹的項目的都沒有怎麼玩對吧?New》Other...,輸入java Project,

點擊Next,然後輸入項目名稱,選擇使用的JDK版本等等,然後點擊Finish,

這樣一個java項目就建立好了。

第二步:在項目的根目錄建立一個lib目錄用來存放項目所需的jar包,這裡需要用到的有Hibernate的核心jar包、mysql jdbc的jar包以及Junit的jar包,這裡會用Junit進行測試(哥們不用我教怎麼去擷取這些包吧?如果要,那哥們你還是放棄這個行業吧,作為職業IT屌絲,一定要從基層就學會擷取資源,利用資源),

然後,在項目中引入這些jar包,滑鼠右鍵點擊項目,選擇Properties,快顯視窗:

點擊Java Build Path,點擊Libraries,點擊Add JARs,彈出:

將lib目錄下的jar包全部選中點擊ok按鈕就成了,

第三步:建立Hibernate的設定檔,在src上點擊滑鼠右鍵選擇New》Other...輸入Hibernate,彈出Hibernate Tools外掛程式相關的內容,然後選中設定檔,點擊Next,

點擊Next,Next,Finish就好了。

第四步:在src路徑下按照包命名規範建立包,並在entity包下建立一個實體類,這裡我建立的是一個Student學生類,然後隨便給上幾個欄位,用getter/setter封裝一下就好,

 

第五步:建立實體類的對應檔,New》Other...輸入Hibernate,彈出Hibernate Tools外掛程式相關的內容,然後選中對應檔,點擊Next,

快顯視窗,點擊Add Class:

選擇要映射的實體類,點擊OK按鈕,

然後又是Next或者Finish啥的,不用多說,然後對應檔就建立成功了,Hibernate會幫我們自動寫好對應檔,

第六步:進行Hibernate設定檔的詳細配置,包括串連資料庫需要的配置,是否輸出sql語句,匯入對應檔等等,(各個配置的含義請自行瞭解,培養個人學習能力)

 Hibernate常用配置理解:

第七步:建立資料庫,設定檔中我用的是hibernate資料庫,記得開啟mysql服務,然後通過視覺化檢視建立一個hibernate資料庫就好,

最後一步:使用Junit進行測試,建立一個test包,在包下建立一個Junit測試類別,

然後敲上相應的代碼:

 1 package com.alanlee.test; 2  3 import java.util.Date; 4  5 import org.hibernate.Session; 6 import org.hibernate.SessionFactory; 7 import org.hibernate.Transaction; 8 import org.hibernate.cfg.Configuration; 9 import org.hibernate.service.ServiceRegistry;10 import org.hibernate.service.ServiceRegistryBuilder;11 import org.junit.After;12 import org.junit.Before;13 import org.junit.Test;14 15 import com.alanlee.entity.Student;16 17 /**18  * 測試類別19  * @author AlanLee20  *21  */22 public class StudentTest23 {24     /**25      * 會話工廠26      */27     private SessionFactory sessionFactory;28     /**29      * 會話對象30      */31     private Session session;32     /**33      * 事務對象34      */35     private Transaction transaction;36 37     /**38      * 初始化39      * @throws Exception40      */41     @Before42     public void setUp() throws Exception43     {44         // 建立配置鍍錫45         Configuration config = new Configuration().configure();46         // 建立服務註冊對象47         ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(config.getProperties())48                 .buildServiceRegistry();49         // 建立會話工廠對象50         sessionFactory = config.buildSessionFactory(serviceRegistry);51         // 建立會話對象52         session = sessionFactory.openSession();53         // 開啟事務54         transaction = session.beginTransaction();55     }56 57     /**58      * 釋放資源59      * @throws Exception60      */61     @After62     public void tearDown() throws Exception63     {64         // 提交事務65         transaction.commit();66         // 關閉會話67         session.close();68         // 關閉會話工廠69         sessionFactory.close();70     }71 72     /**73      * 測試方法74      */75     @Test76     public void testSaveStudent()77     {78         //產生學生對象79         Student student = new Student();80         student.setSid(1);81         student.setName("AlanLee");82         student.setSex("男");83         student.setBirthday(new Date());84         student.setAddress("湖南郴州");85         //儲存對象進入資料庫86         session.save(student);87     }88 89 }

 通過Junit運行這個類進行測試,運行成功,

然後我們看一下資料庫,重新整理一下表,

這樣,通過Hibernate串連mysql資料庫並自動建立表就完美實現了。

小Alan之前有寫關於eclipse安裝Hibernate Tools的隨筆,關於Hibernate Tools沒弄明白的自己翻出來看看,小Alan都是盡量用圖片展示就是喜歡大家能夠盡量自己動手敲敲,別還沒理解就是一個copy,那樣子是很難把技術變成自己腦海裡的東西的。

爸媽又在催吃飯了,下回見。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.