1.3 在IDEA中使用Maven編寫一個Hibernate程序(IDEA+Maven+Hibernate)

1.3 在IDEA中使用Maven編寫一個Hibernate程序(IDEA+Maven+Hibernate)


1.3.1 創建項目

1. 先創建一個Maven項目
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
.
2. 完善項目

創建成功的項目目錄結構所有缺失,我們需要手動創建完成。
   在main目錄下分別創建java和resources文件夾。
   同樣在main下新建test測試文件夾,再在此文件夾下新建Java測試源碼文件夾和resource測試資源文件夾。(這裏的圖用的是我上一篇Maven的截圖,有部分不一樣,但是操作都是一樣的,不要介意)
在這裏插入圖片描述
 建裏好缺失的文件夾以後,我們還需要更改新建的文件夾的 作用:
在這裏插入圖片描述
  更改完成以後的樣式:
在這裏插入圖片描述
.
3. 配置相關的依賴包

這裏我們需要導入到 mysql 和 hibernate 依賴的jar包

在這裏插入圖片描述

<!--引入hibernate包-->
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-core</artifactId>
      <version>5.0.7.Final</version>
    </dependency>

<!--引入mysql包-->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.39</version>
    </dependency>

.
.
.

1.3.2 對Hibernate和MySQL進行相關調配

1. 添加hibernate的配置文件
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
好了,hibernate 的配置文件我們就添加成功了
.
.
2. 對剛添加的hibernate配置文件進行編寫

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD//EN"
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
  <session-factory>

    <!--  mysql賬戶名  -->
    <property name="hibernate.connection.username">root</property>
    <!--  mysql密碼  -->
    <property name="hibernate.connection.password">123456</property>
    <!--  mysql驅動  -->
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <!--  mysql連接URL  -->
    <property name="hibernate.connection.url">jdbc:mysql:///hibernatedemo?useUnicode=true&amp;characterEncoding=UTF-8</property>

    <!--  數據庫方言  -->
    <!--<property name="dialect">org.hibernate.dialect.MySQLDialect</property>-->
    <!--// 5.0之後使用的數據庫方言-->
    <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>

    <!--  顯示sql語句  -->
    <property name="show_sql">true</property>
    <!--  格式化sql語句  -->
    <property name="format_sql">true</property>
    <!--  根據需要創建數據庫  (這裏的操作是,如果數據庫中已經有這個表,就將這個表刪除掉,重新創建表格)-->
    <!--<property name="hbm2ddl.auto">create</property>-->

    <!--添加剛剛生成的映射類-->
    <!--<mapping class="cn.corey.UserEntity"></mapping>-->
  </session-factory>
</hibernate-configuration>

.
.

3. 連接數據庫

在連接數據庫之前呢,我在這裏插一步,這是創建我們MySQL的表格的代碼:

CREATE DATABASE hibernatedemo;
USE hibernatedemo;
CREATE TABLE `user` (
  `user_id` bigint(32) NOT NULL AUTO_INCREMENT COMMENT '編號(主鍵)',
  `user_name` varchar(32) NOT NULL COMMENT '姓名',
  `user_password` varchar(32) DEFAULT NULL COMMENT '密碼',
  `user_phone` varchar(64) DEFAULT NULL COMMENT '電話',
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

通過idea的database數據庫進行連接數據庫
.
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
這幾步設置完成,直接點擊 OK就好了。
點擊OK以後,它會顯示這樣的一個界面,我們可以在這個界面運行我們的sql語句在這裏插入圖片描述
.
.
4. 表與類的數據映射的關係
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
導入數據庫模式OR映射即將生成。你想繼續嗎? 點擊YES
在這裏插入圖片描述
自動生成映射類:
在這裏插入圖片描述
到這裏,我們還需要回到 hibernate.cfg.xml配置文件配置一下添加剛剛生成的映射類

<!--添加剛剛生成的映射類-->
    <mapping class="cn.corey.UserEntity"></mapping>

完整的hibernate.cfg.xml配置:

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD//EN"
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
  <session-factory>

    <!--  mysql賬戶名  -->
    <property name="hibernate.connection.username">root</property>
    <!--  mysql密碼  -->
    <property name="hibernate.connection.password">123456</property>
    <!--  mysql驅動  -->
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <!--  mysql連接URL  -->
    <property name="hibernate.connection.url">jdbc:mysql:///hibernatedemo?useUnicode=true&amp;characterEncoding=UTF-8</property>

    <!--  數據庫方言  -->
    <!--<property name="dialect">org.hibernate.dialect.MySQLDialect</property>-->
    <!--// 5.0之後使用的數據庫方言-->
    <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>

    <!--  顯示sql語句  -->
    <property name="show_sql">true</property>
    <!--  格式化sql語句  -->
    <property name="format_sql">true</property>
    <!--  根據需要創建數據庫  (這裏的操作是,如果數據庫中已經有這個表,就將這個表刪除掉,重新創建表格)-->
    <!--<property name="hbm2ddl.auto">create</property>-->

    <!--添加剛剛生成的映射類-->
    <mapping class="cn.corey.UserEntity"></mapping>
  </session-factory>
</hibernate-configuration>

.
.
.
.

1.3.3 編寫測試類,進行測試

還是,先順一下Hibernate持久化的七個步驟:


 		// 1. Configuration 加載配置,進行初始化
 	
        // 2. SessionFactory 是Session的“工廠”

        // 3. Session 創建實例

        // 4. Transaction 開啓事務

        // 5. 編寫程序,實現操作

        // 6. commit 提交,結束事務

        // 7. close 關閉Session,釋放資源
        

1. 創建並編寫測試類
在這裏插入圖片描述

需要注意的一點是導包一定不要導錯了
在這裏插入圖片描述

測試類完成代碼:

package cn.corey;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

/**
 * Hibernate測試類
 */
public class HibernateTest1 {

    public static void main(String[] args) {

        // 1. Configuration 加載配置,進行初始化
        Configuration configuration=new Configuration().configure();
        // 2. SessionFactory 是Session的“工廠”
        SessionFactory sessionFactory=configuration.buildSessionFactory();
        // 3. Session 創建實例
        Session session=sessionFactory.openSession();
        // 4. Transaction 開啓事務
        Transaction transaction=session.beginTransaction();

        // 5. 編寫程序,實現操作
        UserEntity userEntity=new UserEntity();
        userEntity.setUserName("Corey");
        userEntity.setUserPassword("1433223");
        session.save(userEntity);

        // 6. commit 提交,結束事務
        transaction.commit();
        // 7. close 關閉Session,釋放資源
        session.close();
    }
}

.
2. 進行測試
因爲我們在Hibernate的配置中添加了SQL語句的打印:

	<!--  顯示sql語句  -->
    <property name="show_sql">true</property>

所以,當我們測試類運行成功的時候,控制檯會打印我們所運行的SQL語句
在這裏插入圖片描述

程序運行成功,我們進到MySQL裏看下我們添加的數據有沒有添加進來

在這裏插入圖片描述
查詢數據庫表,我們要添加的數據已經成功添加到表中了,程序功能實現成功
.

到這裏,我們在IDEA中使用Maven創建Hibernate的項目也算是成功了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章