国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

Intellij Idea 15 下新建 Hibernate 項(xiàng)目以及如何添加配置

2019-11-14 09:43:56
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

Intellij Idea 15 下新建 Hibernate 項(xiàng)目以及如何添加配置

本篇文章介紹內(nèi)容:

(1)如何在 PRoject 新建 Hibernate Module。

(2)如何添加 jar 包到 Module 下。

(3)如何添加 hibernate.cfg.xml,以及如何自定義模板

(4)如何添加 Entity.hbm.xml 文件,以及自動(dòng)生成實(shí)體。

3.在最開(kāi)始前,添加 Hibernate 的插件。

文章鏈接(一篇非常詳細(xì)的建立hibernate項(xiàng)目的介紹)http://www.mobile-open.com/2016/977339.html以及這篇文章http://blog.csdn.net/QQ_15096707/article/details/51419304

Hibernate學(xué)習(xí):Intellij IDEA下新建Hibernate HelloWorld:Hibernate是java領(lǐng)域的一款輕量級(jí)ORM(對(duì)象關(guān)系模型)框架,它對(duì)JDBC進(jìn)行了封裝,實(shí)現(xiàn)了從關(guān)系型數(shù)據(jù)庫(kù)到面向?qū)ο蟮念I(lǐng)域模型的映射,可以將對(duì)象自動(dòng)映射成數(shù)據(jù)庫(kù)中的信息。它還提供了面向?qū)ο蟮臄?shù)據(jù)查詢(xún)檢索機(jī)制,這樣我們就不用關(guān)心繁瑣的JDBC,從而極大縮短了手動(dòng)處理SQL和JDBC上的開(kāi)發(fā)時(shí)間。

Hibernate開(kāi)發(fā)環(huán)境搭建

MySQL數(shù)據(jù)庫(kù)

既然Hibernate是一款ORM框架,那就涉及到數(shù)據(jù)庫(kù)操作。這里我們用最常見(jiàn)的開(kāi)源關(guān)系型數(shù)據(jù)庫(kù)mysql,具體安裝辦法我這里不細(xì)說(shuō),不懂的可以百度谷歌。這里我主要說(shuō)說(shuō)在Intellij IDEA下搭建Hibernate開(kāi)發(fā)環(huán)境。

Intellij IDEA

相比于eclipse,JetBrains公司的Intellij IDEA更智能,操作方便,還可以兼容eclipse的項(xiàng)目。Google的Android Studio也是在Intellij IDEA的基礎(chǔ)上開(kāi)發(fā)的。

(一)新建maven項(xiàng)目,通過(guò)maven管理依賴(lài)

(二)填寫(xiě)項(xiàng)目GroupId和ArtifactId,點(diǎn)擊next

(三)填寫(xiě)項(xiàng)目名稱(chēng),選擇項(xiàng)目存放位置,點(diǎn)擊finish

項(xiàng)目目錄結(jié)構(gòu)如圖所示:

這里我說(shuō)一下文件夾的主要功能:

java:存放代碼 resources:存放配置文件 test:存放測(cè)試代碼 pom.xml:maven的依賴(lài)文件,以來(lái)都在這里添加

(四)添加依賴(lài)

建好項(xiàng)目以后,接下來(lái)就是要添加hibernate依賴(lài)了。由于Hibernate要連接mysql,所以還要添加mysql驅(qū)動(dòng)。這樣maven會(huì)自動(dòng)下載jar包到本地倉(cāng)庫(kù)。

pom.xml

?
123456789101112131415161718192021222324252627282930313233<!--?xml version="1.0"encoding="UTF-8"?--><project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemalocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd">    <modelversion>4.0.0</modelversion>     <groupid>com.doubecharli</groupid>    hibernate</artifactid>    <version>1.0-SNAPSHOT</version>     <dependencies>        <!--junit-->        <dependency>            <groupid>junit</groupid>            junit</artifactid>            <version>4.12</version>        </dependency>         <!--hibernate-->        <dependency>            <groupid>org.hibernate</groupid>            hibernate-core</artifactid>            <version>5.1.0.Final</version>        </dependency>         <!--mysql driver-->        <dependency>            <groupid>mysql</groupid>            mysql-connector-java</artifactid>            <version>5.1.40</version>        </dependency>     </dependencies> </project>

Hibernate第一個(gè)實(shí)例

上面我們把開(kāi)發(fā)環(huán)境搭好了,到這里我們就可以開(kāi)擼了。使用Hibernate一共有四步,分別是:

創(chuàng)建Hibernate配置文件 創(chuàng)建持久化類(lèi) 創(chuàng)建映射文件 通過(guò)Hibernate API訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)

創(chuàng)建Hibernate配置文件

配置文件主要是配置數(shù)據(jù)庫(kù)的一些信息,包括用戶(hù)名和密碼等。它可以是properties文件,也可以是xml文件,比較常用的是xml文件。這里我用的是xml文件,默認(rèn)名為hibernate.cfg.xml,放在resources文件夾下。當(dāng)然你也可以另起名字,不過(guò)要在代碼中顯式聲明,后面我會(huì)說(shuō)到。

hibernate.cfg.xml

?
12345678910111213141516171819202122232425262728<!--?xml version='1.0'encoding='utf-8'?--> <hibernate-configuration>    <session-factory>         <!-- 指定連接數(shù)據(jù)庫(kù)所用的驅(qū)動(dòng) -->        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>        <!-- 指定連接數(shù)據(jù)庫(kù)的url,hibernate連接的數(shù)據(jù)庫(kù)名 -->        <property name="connection.url">jdbc:mysql://localhost:3306/hibernate</property>        <!-- 指定連接數(shù)據(jù)庫(kù)的用戶(hù)名 -->        <property name="hibernate.connection.username">root</property>        <!-- 數(shù)據(jù)庫(kù)的登陸密碼 -->        <property name="hibernate.connection.passWord">199498xy</property>        <!-- 指定連接數(shù)據(jù)庫(kù)的編碼 -->        <property name="connection.characterEncoding">utf8</property>        <!-- 指定數(shù)據(jù)庫(kù)方言 -->        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>        <!-- 顯示Hibernate持久化操作所生成的SQL -->        <property name="show_sql">true</property>        <!-- 將SQL腳本進(jìn)行格式化后再輸出 -->        <property name="format_sql">true</property>        <!-- 指定自動(dòng)生成數(shù)據(jù)表的策略 -->        <property name="hbm2ddl.auto">update</property>         <!-- 羅列所有的映射文件 -->        <mapping resource="mapping/User.hbm.xml">    </mapping></session-factory></hibernate-configuration>

代碼我不多說(shuō),重要的都寫(xiě)了注釋?zhuān)嘈哦伎吹妹靼?。這里要說(shuō)的是mapping節(jié)點(diǎn),它用來(lái)指明映射文件的位置,一個(gè)映射文件對(duì)應(yīng)一張表,每個(gè)映射文件都要在這里列出來(lái)。映射文件的內(nèi)容就是我們后面第三步要說(shuō)的。

創(chuàng)建持久化類(lèi)

持久化類(lèi)就是一個(gè)簡(jiǎn)單的java bean,bean的屬性對(duì)應(yīng)表的字段,一個(gè)類(lèi)對(duì)應(yīng)一張表

User.java

?
12345678910111213141516171819202122232425262728293031323334packagecom.doubecharli.bean; /** * Created by Administrator on 2016/12/15. */publicclass User {    privateString id;    privateString username;    privateint password;     publicString getId() {        returnid;    }     publicvoid setId(String id) {        this.id = id;    }     publicString getUsername() {        returnusername;    }     publicvoid setUsername(String username) {        this.username = username;    }     publicint getPassword() {        returnpassword;    }     publicvoid setPassword(intpassword) {        this.password = password;    }}

創(chuàng)建映射文件

映射文件是根據(jù)持久化類(lèi)來(lái)寫(xiě)的,還要在配置文件hibernate.cfg.xml中聲明。它就相當(dāng)于持久化類(lèi)和數(shù)據(jù)庫(kù)中表的一座橋梁,Hibernate就是通過(guò)它找到數(shù)據(jù)庫(kù)的對(duì)應(yīng)字段,從而進(jìn)行增刪查改操作的

User.hbm.xml

?
12345678910<!--?xml version='1.0'encoding='utf-8'?--> <hibernate-mapping>     <classname="com.doubecharli.bean.User"schema="hibernate"table="user">        <id column="id"name="id">        <property column="username"name="username">        <property column="password"name="password">    </property></property></id></class></hibernate-mapping>

class節(jié)點(diǎn)的name屬性指明映射文件對(duì)應(yīng)的類(lèi),tabel指明數(shù)據(jù)庫(kù)中對(duì)應(yīng)的表;id節(jié)點(diǎn)對(duì)應(yīng)數(shù)據(jù)庫(kù)的主鍵;property 節(jié)點(diǎn)的name屬性指明持久化類(lèi)的屬性,column指明表的字段

通過(guò)Hibernate API訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)

到這里我們已經(jīng)完成了Hibernate的基本搭建,最后一步就是要通過(guò)Hibernate的各種API來(lái)操作數(shù)據(jù)庫(kù),這也是我們要達(dá)到的目的。由于篇幅有限,我這里主要是向數(shù)據(jù)庫(kù)中插入一條數(shù)據(jù),其他的API我會(huì)在后面的文章講。話(huà)不多少,上代碼!

?
1234567891011121314151617181920212223242526272829303132333435packagecom.doubecharli; importorg.hibernate.Session;importorg.hibernate.SessionFactory;importorg.hibernate.Transaction;importorg.hibernate.cfg.Configuration; /** * Created by Administrator on 2016/12/15. */publicclass HibernateTest {     publicstatic void main(String[] args) {        // 加載Hibernate默認(rèn)配置文件        Configuration configuration = newConfiguration().configure();        // 用Configuration創(chuàng)建SessionFactory        SessionFactory factory = configuration.buildSessionFactory();        // 創(chuàng)建Session        Session session = factory.openSession();        // 開(kāi)啟事務(wù)        Transaction transaction = session.beginTransaction();        // 實(shí)例化持久化類(lèi)        User user = newUser();        user.setId("1");        user.setUsername("doubecharli");        user.setPassword(123456);        // 保存        session.save(user);        // 提交事務(wù)        transaction.commit();        // 關(guān)閉Session,釋放資源        session.close();        factory.close();    }}

執(zhí)行以后,我們可以到數(shù)據(jù)庫(kù)中看看,已經(jīng)插入了一條記錄!說(shuō)明我們已經(jīng)通過(guò)Hibernate的API來(lái)操作數(shù)據(jù)庫(kù),是不是很方便?再也不用寫(xiě)去復(fù)雜繁瑣的JDBC了

注意:如果你的配置文件命名不是默認(rèn)的hibernate.cfg.xml,你就要在代碼中顯式聲明配置文件

?
1Configuration configuration = newConfiguration().configure("hibernate.xml"

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 方山县| 延吉市| 江永县| 尉氏县| 微博| 梅河口市| 广饶县| 海兴县| 洱源县| 林甸县| 通许县| 荣昌县| 桂东县| 新邵县| 民丰县| 化德县| 沧源| 昌黎县| 荆门市| 将乐县| 岐山县| 葵青区| 锡林郭勒盟| 阳山县| 杭州市| 罗定市| 平塘县| 共和县| 婺源县| 东安县| 通州区| 广丰县| 冕宁县| 宜兰市| 明水县| 阿克| 永吉县| 普定县| 合肥市| 酉阳| 屏南县|