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

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

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

準(zhǔn)備工作

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

在這里插入圖片描述

在這里插入圖片描述

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

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ù)庫(kù)圖形查看如下

在這里插入圖片描述

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

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

配置

配置完的完整文件結(jié)構(gòu)如下圖

在這里插入圖片描述

引用相關(guān)包

在菜單選擇File-Project Structure

在這里插入圖片描述

選擇ProjectSettings下的Libaries,點(diǎn)擊“+”號(hào),選擇Java

在這里插入圖片描述

導(dǎo)入Hibernate相關(guān)的包。

找到放hibernate包的地方,把lib下required中的所有包選中導(dǎo)入

在這里插入圖片描述

在導(dǎo)完Hibernate包后的列表里直接點(diǎn)“+”添加其他包

在這里插入圖片描述

導(dǎo)入有關(guān)mysql的包。
我用了之前tomcat里的,主要是得匹配你的MySQL版本

在這里插入圖片描述

最后結(jié)果如下圖,點(diǎn)擊Apply應(yīng)用

在這里插入圖片描述

可以在下方的ExternalLibararies里查看導(dǎo)入了哪些包

在這里插入圖片描述

實(shí)體類(User.java)

創(chuàng)建一個(gè)對(duì)應(yīng)數(shù)據(jù)庫(kù)表的實(shí)體類,代碼如下

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;
    }
}

關(guān)于如何自動(dòng)化生成getter與setter
快捷鍵“Alt+Ins”,鼠標(biāo)單擊右鍵也會(huì)有個(gè)Generate選項(xiàng)

在這里插入圖片描述

選擇要生成的屬性,然后點(diǎn)OK

在這里插入圖片描述

配置User實(shí)體類(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選擇剛才的實(shí)體類,table寫上實(shí)體類對(duì)應(yīng)表格的名字 -->
        <id name="id" column="id"><!-- id是實(shí)體類屬性的名字,column是表格中與實(shí)體類對(duì)應(yīng)的列名(如果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ù)庫(kù)用不同的方言,里面的值要寫全,下面會(huì)給出一個(gè)表 -->
		<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property><!-- mysql驅(qū)動(dòng) -->
		<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai</property><!-- 數(shù)據(jù)庫(kù)連接,填上面IDEA連數(shù)據(jù)庫(kù)的那個(gè)界面里的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>

方言選擇

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

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

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

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

測(cè)試是否配置成功

創(chuàng)建一個(gè)用于測(cè)試的文件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ù)可看到如下輸出

在這里插入圖片描述

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

在這里插入圖片描述

配置成功

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

相關(guān)文章

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

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

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

    淺談一下Spring中的createBean

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

    Spring Security CsrfFilter過(guò)濾器用法實(shí)例

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

    Spring詳細(xì)講解7種事務(wù)傳播方式

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

    Java中使用注解的實(shí)例詳解

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

    Java微信支付-微信紅包

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

    Java中的Cglib動(dòng)態(tài)代理詳細(xì)解讀

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

    Java自學(xué)書(shū)籍推薦 程序員到架構(gòu)師必看的書(shū)

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

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

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

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

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

最新評(píng)論

长沙县| 鞍山市| 东乌珠穆沁旗| 天镇县| 徐闻县| 崇明县| 白山市| 山阳县| 临汾市| 定陶县| 望江县| 泸定县| 西城区| 揭阳市| 临沧市| 靖州| 合山市| 山丹县| 平顶山市| 常州市| 隆回县| 广南县| 北流市| 神农架林区| 古田县| 哈尔滨市| 霍邱县| 泰兴市| 尤溪县| 湖口县| 肥乡县| 静宁县| 万安县| 通道| 田东县| 临颍县| 康平县| 巫溪县| 安吉县| 沙河市| 盐边县|