首頁 > mysql教程 閱讀:0更新時間:2020-12-13 05:42:16

Hibernate連接mysql數據庫并自動創建表

天才第一步,雀氏紙尿褲,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 AlanLee
20  *
21  */
22 public class StudentTest
23 {
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 Exception
40      */
41     @Before
42     public void setUp() throws Exception
43     {
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 Exception
60      */
61     @After
62     public void tearDown() throws Exception
63     {
64         // 提交事務
65         transaction.commit();
66         // 關閉會話
67         session.close();
68         // 關閉會話工廠
69         sessionFactory.close();
70     }
71 
72     /**
73      * 測試方法
74      */
75     @Test
76     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,那樣子是很難把技術變成自己腦海里的東西的。

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

可愛博主:AlanLee

博客地址:http://www.cnblogs.com/AlanLee

本文出自博客園,歡迎大家加入博客園。

轉載于:https://www.cnblogs.com/AlanLee/p/5839094.html

beylze編程學院,一個分享編程知識和seo優化知識的網站。跟著beylze一起學習,每天都有進步。

通俗易懂,深入淺出,一篇文章只講一個知識點。

文章不深奧,不需要鉆研,在公交、在地鐵、在廁所都可以閱讀,隨時隨地漲姿勢。

文章不涉及代碼,不燒腦細胞,人人都可以學習。

當你決定關注beylze(公眾號:beylze),你已然超越了90%的其他從業者!

相關文章

国产亚洲欧美日韩