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

Hibernate單表操作實(shí)例解析

 更新時(shí)間:2018年02月09日 10:50:41   作者:Marksinoberg  
這篇文章主要介紹了Hibernate單表操作實(shí)例解析,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下

單一主鍵

assigned:由Java應(yīng)用程序負(fù)責(zé)生成(即手工的賦值)

native:由底層的數(shù)據(jù)庫(kù)自動(dòng)的生成標(biāo)示符,如果是MySQL就是auto_increment,如果是Oracle就是sequence,等等

操作的時(shí)候還是需要結(jié)合hibernate.cfg.xml文件的,因?yàn)閿?shù)據(jù)庫(kù)中的hbm2ddl.auto屬性如果是update的時(shí)候,設(shè)置為主鍵自增是可以的;但是如果是create的時(shí)候,第二次如果不手工的改變,恐怕就要出BUG了。

基本類(lèi)型

一般來(lái)說(shuō),按照J(rèn)ava的數(shù)據(jù)類(lèi)型進(jìn)行操作就可以。

其中最容易出錯(cuò)的數(shù)據(jù)類(lèi)型是date 和 timestamp兩種。

- date類(lèi)型既可以映射成java.util.Date,也可以映射成java.sql.Date類(lèi)型。代表日期:yyyy-MM-dd
- time類(lèi)型映射成java.util.Time 和java.sql.Time代表的時(shí)間:hh:mm:ss
- timesaamp可以映射成java.util.Date或者java.sql.TimeStamp類(lèi)型,代表的時(shí)間和日期:yyyymmddhhmmss

如何更改其阿紫數(shù)據(jù)庫(kù)中的數(shù)據(jù)庫(kù)類(lèi)型呢?

在XX.hbm.xml文件中對(duì)class對(duì)象的property的type屬性進(jìn)行更改即可。改成Hibernate自帶的數(shù)據(jù)類(lèi)型就可以了。

對(duì)象類(lèi)型

下面是Hibernate支持的對(duì)象類(lèi)型的總結(jié):

操作的時(shí)候只需要按照相應(yīng)的API即可。

需要注意的是MySQL不支持標(biāo)準(zhǔn)的CLOB類(lèi)型,在MySQL中用TEXT,MEDIUMTEXT及LONGTEXT類(lèi)型來(lái)表示長(zhǎng)度超過(guò)255的長(zhǎng)文本數(shù)據(jù)。

組件屬性

實(shí)體類(lèi)中某個(gè)屬性屬于用戶(hù)自定義的類(lèi)的對(duì)象

如:

<component name="address" class="Address">
  <property name="postcode" column="POSTCODE" />
  <property name="phone" column="PHONE" />
  <property name="address" column="ADDRESS" />
</component>

也就是說(shuō)一旦是用戶(hù)自定義的類(lèi)型的話(huà),在XX.hbm.xml文件中就要使用component標(biāo)簽,而不是單純的property標(biāo)簽了。這一點(diǎn)應(yīng)該有其的注意。

單表操作CRUD的實(shí)例

這里主要是使用到了session的幾個(gè)常用的api。如save,update,delete,和get/load等等。

- save:直接調(diào)用session.save(對(duì)象的實(shí)例)
- get/load:session.get/load(XX.class,標(biāo)示符);其中這個(gè)標(biāo)示符可以是主鍵對(duì)應(yīng)的值
- update:session.update(對(duì)象的實(shí)例)
- delete:session.delete(對(duì)象的實(shí)例)

get與load的區(qū)別:

- 一、不考慮緩存的情況下,get方法在調(diào)用之后立即的向數(shù)據(jù)庫(kù)發(fā)送SQL語(yǔ)句,返回持久化的對(duì)象,而load方法會(huì)在調(diào)用后返回一個(gè)代理的對(duì)象,該代理對(duì)象只保存了實(shí)體對(duì)象的id,知道適用對(duì)象的非主鍵屬性時(shí)才會(huì)發(fā)出sql語(yǔ)句。

- 二、查詢(xún)數(shù)據(jù)庫(kù)中不存在的數(shù)據(jù)時(shí),get方法返回的是null,load方法則會(huì)拋出異常org.hibernate.ObjectNotFoundException

總結(jié)

以上就是本文關(guān)于Hibernate單表操作實(shí)例解析的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專(zhuān)題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!

相關(guān)文章

  • IDEA教程創(chuàng)建SpringBoot前后端分離項(xiàng)目示例圖解

    IDEA教程創(chuàng)建SpringBoot前后端分離項(xiàng)目示例圖解

    在使用spring、mybatis等框架時(shí),配置文件很復(fù)雜,有時(shí)復(fù)雜的讓人想放棄Java,使用C#。springboot出現(xiàn)這一切問(wèn)題就都不是問(wèn)題
    2021-10-10
  • Java中的LinkedHashMap及LRU緩存機(jī)制詳解

    Java中的LinkedHashMap及LRU緩存機(jī)制詳解

    這篇文章主要介紹了Java中的LinkedHashMap及LRU緩存機(jī)制詳解,LinkedHashMap繼承自HashMap,它的多種操作都是建立在HashMap操作的基礎(chǔ)上的,同HashMap不同的是,LinkedHashMap維護(hù)了一個(gè)Entry的雙向鏈表,保證了插入的Entry中的順序,需要的朋友可以參考下
    2023-09-09
  • SpringMVC 參數(shù)綁定之視圖傳參到控制器的實(shí)現(xiàn)代碼

    SpringMVC 參數(shù)綁定之視圖傳參到控制器的實(shí)現(xiàn)代碼

    這篇文章主要介紹了SpringMVC 參數(shù)綁定之視圖傳參到控制器的相關(guān)知識(shí),本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • SpringBoot Starter自定義之創(chuàng)建可復(fù)用的自動(dòng)配置模塊方式

    SpringBoot Starter自定義之創(chuàng)建可復(fù)用的自動(dòng)配置模塊方式

    本文將詳細(xì)介紹如何設(shè)計(jì)和實(shí)現(xiàn)一個(gè)自定義的Spring Boot Starter,幫助讀者掌握這一強(qiáng)大技術(shù),提升代碼復(fù)用性和開(kāi)發(fā)效率,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • 里氏代換原則_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    里氏代換原則_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要為大家詳細(xì)介紹了里氏代換原則的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • SpringBoot解決yml明文密碼問(wèn)題的方法

    SpringBoot解決yml明文密碼問(wèn)題的方法

    在現(xiàn)代的軟件開(kāi)發(fā)中,安全性是一個(gè)重要的考量因素,對(duì)于使用SpringBoot框架開(kāi)發(fā)的應(yīng)用程序而言,敏感信息如數(shù)據(jù)庫(kù)密碼、API密鑰等通常存儲(chǔ)在YAML配置文件中,而這些文件往往是明文存儲(chǔ),存在安全隱患,所以本文介紹了SpringBoot解決yml明文密碼問(wèn)題的方法
    2024-07-07
  • SpringBoot集成IJPay實(shí)現(xiàn)微信v3支付的示例代碼

    SpringBoot集成IJPay實(shí)現(xiàn)微信v3支付的示例代碼

    本文主要介紹了SpringBoot集成IJPay實(shí)現(xiàn)微信v3支付的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Windows系統(tǒng)下JDK1.8與JDK11版本切換超詳細(xì)教程

    Windows系統(tǒng)下JDK1.8與JDK11版本切換超詳細(xì)教程

    這篇文章主要給大家介紹了關(guān)于Windows系統(tǒng)下JDK1.8與JDK11版本切換的超詳細(xì)教程,我們可以有多個(gè)工程項(xiàng)目,用的JDK版本不一樣,這個(gè)時(shí)候就需要進(jìn)行自由切換JDK版本了,需要的朋友可以參考下
    2023-07-07
  • java 中Map詳解及實(shí)例代碼

    java 中Map詳解及實(shí)例代碼

    這篇文章主要介紹了java 中Map詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • java設(shè)計(jì)模式:建造者模式之生產(chǎn)線(xiàn)

    java設(shè)計(jì)模式:建造者模式之生產(chǎn)線(xiàn)

    這篇文章主要介紹了Java設(shè)計(jì)模式之建造者模式,結(jié)合具體實(shí)例形式分析了建造者模式的概念、原理、實(shí)現(xiàn)方法與相關(guān)使用注意事項(xiàng),需要的朋友可以參考下
    2021-08-08

最新評(píng)論

玉山县| 达拉特旗| 泾川县| 东丰县| 广汉市| 蓬莱市| 驻马店市| 陵水| 瑞昌市| 永善县| 满城县| 河曲县| 金湖县| 甘孜县| 怀安县| 石城县| 商城县| 绥德县| 明溪县| 甘谷县| 广灵县| 靖宇县| 吉木乃县| 赞皇县| 偃师市| 项城市| 靖宇县| 凭祥市| 玛多县| 芦山县| 远安县| 茌平县| 博兴县| 买车| 丘北县| 巴塘县| 西乌珠穆沁旗| 天门市| 昭苏县| 墨脱县| 永康市|