溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

怎么在java中配置一個(gè)Hibernate環(huán)境

發(fā)布時(shí)間:2021-04-25 15:51:08 來(lái)源:億速云 閱讀:144 作者:Leah 欄目:編程語(yǔ)言

怎么在java中配置一個(gè)Hibernate環(huán)境?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

常用的java框架有哪些

1.SpringMVC,Spring Web MVC是一種基于Java的實(shí)現(xiàn)了Web MVC設(shè)計(jì)模式的請(qǐng)求驅(qū)動(dòng)類(lèi)型的輕量級(jí)Web框架。2.Shiro,Apache Shiro是Java的一個(gè)安全框架。3.Mybatis,MyBatis 是支持普通 SQL查詢(xún),存儲(chǔ)過(guò)程和高級(jí)映射的優(yōu)秀持久層框架。4.Dubbo,Dubbo是一個(gè)分布式服務(wù)框架。5.Maven,Maven是個(gè)項(xiàng)目管理和構(gòu)建自動(dòng)化工具。6.RabbitMQ,RabbitMQ是用Erlang實(shí)現(xiàn)的一個(gè)高并發(fā)高可靠AMQP消息隊(duì)列服務(wù)器。7.Ehcache,EhCache 是一個(gè)純Java的進(jìn)程內(nèi)緩存框架。

1.hibernate映射配置

class標(biāo)簽,用來(lái)建立類(lèi)與表之間的關(guān)系name:類(lèi)名,table:表名

id標(biāo)簽,建立中的屬性與表中的主鍵的對(duì)應(yīng)關(guān)系

property,建立類(lèi)中的普通屬性與表的字段的對(duì)應(yīng)關(guān)系

(1)首先我們要學(xué)會(huì)如何編寫(xiě)映射配置文件,大家要知道編寫(xiě)完的映射配置文件應(yīng)與實(shí)體類(lèi)在同一個(gè)包下,并且名稱(chēng)應(yīng)是類(lèi)名.hbm.xml,所以我們要在com.meimeixia.hibernate.demo01包下創(chuàng)建一個(gè)Customer.hbm.xml文件,但是它的約束應(yīng)該怎么寫(xiě)呢?可以在Hibernate的核心jar包——hibernate-core-5.0.7.Final.jar的org.hibernate包下查找到hibernate-mapping-3.0.dtd文件。

(2)復(fù)制黏貼到Customer.hbm.xml文件中即可。這里先給出Customer.hbm.xml文件的內(nèi)容,但內(nèi)容不做過(guò)多介紹:

<?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>
<!-- 建立類(lèi)與表的映射 -->
<class name="com.meimeixia.hibernate.demo01.Customer" table="cst_customer">
<!-- 建立類(lèi)中的屬性與表中的主鍵相對(duì)應(yīng) -->
<id name="cust_id" column="cust_id">
<!-- 主鍵的生成策略,后面會(huì)講,現(xiàn)在使用的是本地生成策略 -->
<generator />
</id>
<!-- 建立類(lèi)中的普通屬性和表中的字段相對(duì)應(yīng) -->
<property name="cust_name" column="cust_name" />
<property name="cust_source" column="cust_source" />
<property name="cust_industry" column="cust_industry" />
<property name="cust_level" column="cust_level" />
<property name="cust_phone" column="cust_phone" />
<property name="cust_mobile" column="cust_mobile" />
</class>
</hibernate-mapping>

2.hibernate的核心配置

必須的配置:連接數(shù)據(jù)庫(kù)的基本參數(shù):驅(qū)動(dòng)類(lèi)、URL路徑、用戶(hù)名、密碼,方言的配置以及映射文件的引入

可選的配置顯示化SQL語(yǔ)句、格式化SQL語(yǔ)句、自動(dòng)建表

(1)核心配置文件主要是Hibernate框架所使用的,它主要包含了連接數(shù)據(jù)庫(kù)的相關(guān)信息和Hibernate的相關(guān)配置等?,F(xiàn)在我們要學(xué)會(huì)如何編寫(xiě)Hibernate的核心配置文件,大家也要知道編寫(xiě)完的核心配置文件應(yīng)在src目錄下,并且名稱(chēng)應(yīng)是hibernate.cfg.xml,所以我們要在src目錄下創(chuàng)建一個(gè)hibernate.cfg.xml文件,但是它的約束又應(yīng)該怎么寫(xiě)呢?同樣可以在Hibernate的核心jar包——hibernate-core-5.0.7.Final.jar的org.hibernate包下查找到hibernate-configuration-3.0.dtd文件

(2)然后復(fù)制黏貼到hibernate.cfg.xml文件中即可。在這個(gè)文件中到底該如何配置呢?我們可以參考hibernate-release-5.0.7.Final\project\etc\hibernate.properties文件。這里先給出hibernate.cfg.xml文件的內(nèi)容,但內(nèi)容不做過(guò)多介紹:

<?xml version="1.0" encoding="UTF-8"?>
<!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>
<!-- 下面是三個(gè)必須要有的配置 -->
<!-- 配置連接MySQL數(shù)據(jù)庫(kù)的基本參數(shù) -->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql:///hibernate_demo01</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">liayun</property>
<!-- 配置Hibernate的方言 -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 下面兩個(gè)是可選的配置喲! -->
<!-- 打印sql語(yǔ)句 -->
<property name="hibernate.show_sql">true</property>
<!-- 格式化sql語(yǔ)句 -->
<property name="hibernate.format_sql">true</property>
<!-- 告訴Hibernate的核心配置文件加載哪個(gè)映射文件 -->
<mapping resource="com/meimeixia/hibernate/demo01/Customer.hbm.xml"/>
</session-factory>
</hibernate-configuration>

看完上述內(nèi)容,你們掌握怎么在java中配置一個(gè)Hibernate環(huán)境的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI