第一次作業(yè) ORM框架環(huán)境配置及DEMO

前提:
建一個(gè)數(shù)據(jù)庫
步驟:
一.導(dǎo)包(hibernate\lib\required下10個(gè)+日志2個(gè)+mysql驅(qū)動(dòng)1個(gè))
二.實(shí)體類(提供屬性)
三.兩個(gè)文件(.cfg.xml+.hbm.xml)
四.測(cè)試類(使用)

一馒疹、導(dǎo)包

1.導(dǎo)入hibernate所用的包


導(dǎo)入hibernate所用的包

2.導(dǎo)入mysql驅(qū)動(dòng)的jar包(驅(qū)動(dòng)的第一次使用)

導(dǎo)入mysql驅(qū)動(dòng)的jar包

3.導(dǎo)入兩個(gè)日志包


日志1

日志2

前提:
idea載入數(shù)據(jù)庫

View → Tool Windows → database → Data Source Properties → My SQL
地址localhost或者127.0.0.1都是本地

idea載入數(shù)據(jù)庫

把數(shù)據(jù)庫驅(qū)動(dòng)加上(驅(qū)動(dòng)第二次使用)


把數(shù)據(jù)庫驅(qū)動(dòng)加上

二.創(chuàng)建實(shí)體類

TestEntity(基本就是getter and setter)

package com;
public class TestentityEntity {

    private int Tid;

    private String Tname;

    public int getTid() {

        return Tid;

    }

    public void setTid(int tid) {

        Tid = tid;

    }

    public String getTname() {

        return Tname;

    }

    public void setTname(String tname) {

        Tname = tname;

    }

}

三.創(chuàng)建映射文件

TestentityEntity.hbm.xml (idea自己寫會(huì)出現(xiàn)找不到表名解決方案在后面)
放在src目錄下

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <!-- name代表的是實(shí)體類名佳簸,table代表的是表名 -->
    <class name="com.TestentityEntity" table="entity1">
        <!-- name=id代表的是customer類中屬性  column=id代表的是table表中的字段 -->
        <id name="tid" column="id">
            <!-- 主鍵生成策略 -->
            <generator class="native"/>
        </id>
        <!-- 其他屬性使用property標(biāo)簽來映射 -->
        <property name="tname" column="username" type="string"/>
    </class>
</hibernate-mapping>

第二個(gè)文件 hibernate.cfg.xml

<hibernate-configuration>
    <!-- 通常,一個(gè)session-factory節(jié)點(diǎn)代表一個(gè)數(shù)據(jù)庫 -->
    <session-factory>

        <!-- 1. 數(shù)據(jù)庫連接配置 -->
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test1</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password">root</property>
        <!--            數(shù)據(jù)庫方法配置颖变, hibernate在運(yùn)行的時(shí)候生均,會(huì)根據(jù)不同的方言生成符合當(dāng)前數(shù)據(jù)庫語法的sql         -->
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL57Dialect</property>

        <!-- 2. 其他相關(guān)配置 -->
        <!-- 2.1 顯示hibernate在運(yùn)行時(shí)候執(zhí)行的sql語句 -->
        <property name="hibernate.show_sql">true</property>
        <!-- 2.2 格式化sql -->
        <property name="hibernate.format_sql">true</property>


        <!--3. 加載所有映射-->
        <mapping resource="com/TestentityEntity.hbm.xml"/>

    </session-factory>
</hibernate-configuration>

加載映射的位置是映射文件.hbm.xml所在位置


四.創(chuàng)建測(cè)試類

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

public class Test {
    public static void main(String[] args) {
        //創(chuàng)建對(duì)象
        TestentityEntity user = new TestentityEntity();
        user.setTid(3);
        user.setTname("doro");

        //獲取加載配置管理類
        Configuration configuration = new Configuration();

        //不給參數(shù)就默認(rèn)加載hibernate.cfg.xml文件听想,
        configuration.configure();

        //創(chuàng)建Session工廠對(duì)象
        SessionFactory factory = configuration.buildSessionFactory();

        //得到Session對(duì)象
        Session session = factory.openSession();

        //使用Hibernate操作數(shù)據(jù)庫,都要開啟事務(wù),得到事務(wù)對(duì)象
        Transaction transaction = session.getTransaction();

        //開啟事務(wù)
        transaction.begin();

        //把對(duì)象添加到數(shù)據(jù)庫中
        session.save(user);

        //提交事務(wù)
        transaction.commit();

        //關(guān)閉Session
        session.close();
    }
}

查看數(shù)據(jù)庫


數(shù)據(jù)成功添加

遇到問題:

dos下net start mysql 打不開mysql

問題原因:mysql服務(wù)沒有安裝疯特。

解決辦法: 在 mysql bin目錄下 以管理員的權(quán)限 執(zhí)行 mysqld -install命令

然后仍然以管理員的權(quán)限 net start mysql 開啟Mysql服務(wù)了哗魂。

1、以管理員的權(quán)限 net stop mysql 漓雅,關(guān)閉mysql服務(wù)

2录别、以管理員的權(quán)限 mysqld -remove ,卸載mysql服務(wù)


上面說到的映射文件找不到表位置
映射文件找不到表位置

原因:映射文件沒匹配上

解決方法:
解決方法

匹配或 生成之后再修改

數(shù)據(jù)庫創(chuàng)建指令

創(chuàng)建數(shù)據(jù)庫test1
顯示數(shù)據(jù)庫

創(chuàng)建表

未解決疑問

分不清屬性名

分不清屬性名是tid還是Tid


hbm.xml

在hbm.xml文件中屬性名無論是tid還是Tid都能成功邻吞。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末组题,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子抱冷,更是在濱河造成了極大的恐慌崔列,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件旺遮,死亡現(xiàn)場(chǎng)離奇詭異赵讯,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)耿眉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門边翼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人鸣剪,你說我怎么就攤上這事组底。” “怎么了筐骇?”我有些...
    開封第一講書人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵债鸡,是天一觀的道長。 經(jīng)常有香客問我铛纬,道長厌均,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任告唆,我火速辦了婚禮莫秆,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘悔详。我一直安慰自己,他們只是感情好惹挟,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開白布茄螃。 她就那樣靜靜地躺著,像睡著了一般连锯。 火紅的嫁衣襯著肌膚如雪归苍。 梳的紋絲不亂的頭發(fā)上用狱,一...
    開封第一講書人閱讀 49,950評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音拼弃,去河邊找鬼夏伊。 笑死,一個(gè)胖子當(dāng)著我的面吹牛吻氧,可吹牛的內(nèi)容都是我干的溺忧。 我是一名探鬼主播,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼盯孙,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼鲁森!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起振惰,我...
    開封第一講書人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤歌溉,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后骑晶,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體痛垛,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年桶蛔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了匙头。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡羽圃,死狀恐怖乾胶,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情朽寞,我是刑警寧澤识窿,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站脑融,受9級(jí)特大地震影響喻频,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜肘迎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一甥温、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧妓布,春花似錦姻蚓、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春加叁,著一層夾襖步出監(jiān)牢的瞬間倦沧,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來泰國打工它匕, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留展融,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓豫柬,卻偏偏與公主長得像告希,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子轮傍,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容