您好,登錄后才能下訂單哦!
怎么在java中配置一個(gè)Hibernate環(huán)境?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
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è)資訊頻道,感謝各位的閱讀!
免責(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)容。