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,那樣子是很難把技術變成自己腦海裡的東西的。
爸媽又在催吃飯了,下回見。