最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

IDEA2019.3配置Hibernate的詳細教程(未使用IDEA的自動化)

 更新時間:2021年05月10日 16:05:25   作者:MaskedRuler  
這篇文章主要介紹了IDEA2019.3配置Hibernate的詳細教程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

準備工作

創(chuàng)建一個純java項目,什么都不選直接建

在這里插入圖片描述

在這里插入圖片描述

創(chuàng)建數(shù)據(jù)庫、表以及少量記錄

CREATE DATABASE test;
USE test;
CREATE TABLE t_user(
ID INT AUTO_INCREMENT PRIMARY KEY,
NAME VARCHAR(20),
AGE int);
insert into testHibernate(NAME,AGE) VALUES
('張三',20),
('李四',21),
('王五',22)

使用IDEA自帶的數(shù)據(jù)庫圖形查看如下

在這里插入圖片描述

在IDEA中連接數(shù)據(jù)庫的步驟如下

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

配置

配置完的完整文件結構如下圖

在這里插入圖片描述

引用相關包

在菜單選擇File-Project Structure

在這里插入圖片描述

選擇ProjectSettings下的Libaries,點擊“+”號,選擇Java

在這里插入圖片描述

導入Hibernate相關的包。

找到放hibernate包的地方,把lib下required中的所有包選中導入

在這里插入圖片描述

在導完Hibernate包后的列表里直接點“+”添加其他包

在這里插入圖片描述

導入有關mysql的包。
我用了之前tomcat里的,主要是得匹配你的MySQL版本

在這里插入圖片描述

最后結果如下圖,點擊Apply應用

在這里插入圖片描述

可以在下方的ExternalLibararies里查看導入了哪些包

在這里插入圖片描述

實體類(User.java)

創(chuàng)建一個對應數(shù)據(jù)庫表的實體類,代碼如下

package entity;

public class User {
    private int id;
    private String name;
    private int age;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

關于如何自動化生成getter與setter
快捷鍵“Alt+Ins”,鼠標單擊右鍵也會有個Generate選項

在這里插入圖片描述

選擇要生成的屬性,然后點OK

在這里插入圖片描述

配置User實體類(user.hbm.xml)

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
	"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
	"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <class name="entity.User" table="t_user"><!-- name選擇剛才的實體類,table寫上實體類對應表格的名字 -->
        <id name="id" column="id"><!-- id是實體類屬性的名字,column是表格中與實體類對應的列名(如果id和column一樣可以省略column) -->
            <generator class="native"/>
        </id>
        <property name="name" column="name"/>
        <property name="age" column="age"/>
    </class>
</hibernate-mapping>

Hibernate配置文件(hibernate.cfg.xml)

<!DOCTYPE hibernate-configuration PUBLIC
	"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
	"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
	<session-factory>
		<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property><!-- 方言模式,不同的數(shù)據(jù)庫用不同的方言,里面的值要寫全,下面會給出一個表 -->
		<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property><!-- mysql驅(qū)動 -->
		<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai</property><!-- 數(shù)據(jù)庫連接,填上面IDEA連數(shù)據(jù)庫的那個界面里的URL -->
		<property name="hibernate.connection.username">root</property><!-- MySQL用戶名 -->
		<property name="hibernate.connection.password">123456</property><!-- MySLQ密碼 -->
		<property name="show_sql">true</property>
		<mapping resource="entity/user.hbm.xml"/><!-- 選擇User的配置文件 -->
	</session-factory>
</hibernate-configuration>

方言選擇

這里只給了三個有關MySQL的,詳細的可以參考這篇文章hibernate 配置數(shù)據(jù)庫方言

關系數(shù)據(jù)庫管理系統(tǒng) 方言
MySQL org.hibernate.dialect.MySQLDialect
MySQL with InnoDB org.hibernate.dialect.MySQLInnoDBDialect
MySQL with MyISAM org.hibernate.dialect.MySQLMyISAMDialect

InnoDB:
MySQL默認的事務型引擎,也是最重要和使用最廣泛的存儲引擎。它被設計成為大量的短期事務,短期事務大部分情況下是正常提交的,很少被回滾。InnoDB的性能與自動崩潰恢復的特性,使得它在非事務存儲需求中也很流行。除非有非常特別的原因需要使用其他的存儲引擎,否則應該優(yōu)先考慮InnoDB引擎。

MyISAM:
在MySQL 5.1 及之前的版本,MyISAM是默認引擎。MyISAM提供的大量的特性,包括全文索引、壓縮、空間函數(shù)(GIS)等,但MyISAM并不支持事務以及行級鎖,而且一個毫無疑問的缺陷是崩潰后無法安全恢復。正是由于MyISAM引擎的緣故,即使MySQL支持事務已經(jīng)很長時間了,在很多人的概念中MySQL還是非事務型數(shù)據(jù)庫。盡管這樣,它并不是一無是處的。對于只讀的數(shù)據(jù),或者表比較小,可以忍受修復操作,則依然可以使用MyISAM(但請不要默認使用MyISAM,而是應該默認使用InnoDB)

測試是否配置成功

創(chuàng)建一個用于測試的文件manegeUser.java

package dao;

import entity.User;
import org.hibernate.*;
import org.hibernate.cfg.Configuration;

public class manageUser {
    public static void main(String[] args){
        Configuration cfg = null;
        SessionFactory sf = null;
        Session session = null;
        Transaction ts = null;
        User u = new User();
        u.setName("趙六");
        u.setAge(66);
        try {
            cfg = new Configuration().configure();
            sf = cfg.buildSessionFactory();
            session = sf.openSession();
            ts = session.beginTransaction();
            session.save(u);
            ts.commit();
        }catch (HibernateException e){
            e.printStackTrace();
            if(ts != null){
                ts.rollback();
            }
        }finally {
            session.close();
            sf.close();
        }
    }
}

按“Ctrl+Shift+F10”執(zhí)行該函數(shù)可看到如下輸出

在這里插入圖片描述

并且也成功插入了一條記錄

在這里插入圖片描述

配置成功

到此這篇關于IDEA2019.3配置Hibernate的詳細教程(未使用IDEA的自動化)的文章就介紹到這了,更多相關IDEA2019.3配置Hibernate內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 基于java語言實現(xiàn)快遞系統(tǒng)

    基于java語言實現(xiàn)快遞系統(tǒng)

    這篇文章主要為大家詳細介紹了基于java語言實現(xiàn)快遞系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 淺談一下Spring中的createBean

    淺談一下Spring中的createBean

    createBean是創(chuàng)建Bean的主要方法, 該方法位于:AbstractBeanFactory的doGetBean方法中的createBean調(diào)用。本文就來淺談一下Spring中的createBean?,感興趣的可以了解一下
    2022-07-07
  • Spring Security CsrfFilter過濾器用法實例

    Spring Security CsrfFilter過濾器用法實例

    這篇文章主要介紹了Spring Security CsrfFilter過濾器用法實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • Spring詳細講解7種事務傳播方式

    Spring詳細講解7種事務傳播方式

    Spring事務傳播機制是指,包含多個事務的方法在相互調(diào)用時,事務是如何在這些方法間傳播的。本文通過示例詳細介紹了Spring的事務傳播機制,需要的可以參考一下
    2023-01-01
  • Java中使用注解的實例詳解

    Java中使用注解的實例詳解

    注解(Annotation)是放在Java源碼的類、方法、字段、參數(shù)前的一種特殊“注釋”,這篇文章主要介紹了Java中如何使用注解,需要的朋友可以參考下
    2023-06-06
  • Java微信支付-微信紅包

    Java微信支付-微信紅包

    本篇文章介紹了Java微信支付-微信紅包,可以實現(xiàn)微信公眾號發(fā)紅包功能,具有一定的參考價值,有需要的可以了解一下。
    2016-10-10
  • Java中的Cglib動態(tài)代理詳細解讀

    Java中的Cglib動態(tài)代理詳細解讀

    這篇文章主要介紹了Java中的Cglib動態(tài)代理詳細解讀,CGLib是一個強大的、高性能、高質(zhì)量的 Code 生成類庫,它可以在運行期擴展 Java 類與實現(xiàn) Java 接口,需要的朋友可以參考下
    2023-11-11
  • Java自學書籍推薦 程序員到架構師必看的書

    Java自學書籍推薦 程序員到架構師必看的書

    這篇文章主要為大家推薦了Java程序員到架構師自學書籍,幫助大家不斷提高自己的專業(yè)水平,感興趣的小伙伴們可以參考一下
    2016-09-09
  • Java線程池ForkJoinPool(工作竊取算法)的使用

    Java線程池ForkJoinPool(工作竊取算法)的使用

    Fork就是把一個大任務切分為若干個子任務并行地執(zhí)行,Join就是合并這些子任務的執(zhí)行結果,最后得到這個大任務的結果。Fork/Join?框架使用的是工作竊取算法。本文主要介紹了ForkJoinPool的使用,需要的可以參考一下
    2022-11-11
  • scala 操作數(shù)據(jù)庫的方法

    scala 操作數(shù)據(jù)庫的方法

    這篇文章主要介紹了scala 操作數(shù)據(jù)庫的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-06-06

最新評論

晴隆县| 民乐县| 泰兴市| 行唐县| 克东县| 武穴市| 开远市| 屯门区| 青州市| 莱阳市| 长岛县| 甘南县| 南皮县| 丰原市| 淅川县| 威海市| 顺昌县| 衢州市| 庆安县| 富平县| 洪雅县| 克拉玛依市| 平果县| 万州区| 东源县| 兴城市| 保康县| 永善县| 绥滨县| 邛崃市| 延庆县| 广昌县| 林芝县| 开鲁县| 广饶县| 修文县| 澄城县| 霸州市| 五常市| 玉林市| 金堂县|