程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> Hibernate連接mysql數據庫並自動創建表,hibernatemysql

Hibernate連接mysql數據庫並自動創建表,hibernatemysql

編輯:JAVA綜合教程

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 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,那樣子是很難把技術變成自己腦海裡的東西的。

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

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved