亚洲女人被黑人巨大进入-亚洲日本视频在线观看-亚洲AV秘片一区二区三3-亚洲欧美中文字幕乱码在线

<dfn id="uqq4w"><dl id="uqq4w"></dl></dfn>
  • <abbr id="uqq4w"></abbr>
    <center id="uqq4w"><cite id="uqq4w"></cite></center>
    ?
    徐州北大青鳥

    為啥老外喜歡JPA,國(guó)人鐘情MyBatis,聊聊它們的優(yōu)缺點(diǎn)?

    時(shí)間:2021-04-02 14:41來(lái)源:未知 作者:代碼如詩(shī) 點(diǎn)擊:
    # 什么是JPA JPA是一種規(guī)范,它簡(jiǎn)化了現(xiàn)有持久化的開發(fā),并且充分吸收了Hibernate、TopLInk、JDO等框架。SpringData JPA是全自動(dòng)框架,不需要自己寫sql,當(dāng)然也可以自己寫sql實(shí)現(xiàn)。而自動(dòng)生成
    # 什么是JPA
     
    JPA是一種規(guī)范,它簡(jiǎn)化了現(xiàn)有持久化的開發(fā),并且充分吸收了Hibernate、TopLInk、JDO等框架。SpringData JPA是全自動(dòng)框架,不需要自己寫sql,當(dāng)然也可以自己寫sql實(shí)現(xiàn)。而自動(dòng)生成sql這點(diǎn)是優(yōu)點(diǎn),也是缺點(diǎn),因?yàn)樯傻膕ql可讀性差,而且一些業(yè)務(wù)比如執(zhí)行邏輯刪除等還是需要自己來(lái)實(shí)現(xiàn)sql。
     
    # 什么是Mybatis
     
    Mybatis是一種半自動(dòng)的ORM框架,它簡(jiǎn)單易上手,沒有第三方依賴,支持對(duì)象與數(shù)據(jù)庫(kù)的ORM關(guān)系映射,將sql代碼與業(yè)務(wù)代碼分離,使得開發(fā)人員可以更自如的寫出高效的sql,不過(guò)反過(guò)來(lái)說(shuō)不像SpringData JPA這種全自動(dòng)的ORM框架,它需要自己實(shí)現(xiàn)sql語(yǔ)句,對(duì)開發(fā)人員的sql編寫能力要求高,雖然將sql代碼寫在xml文件里方便了修改和編寫,可這同時(shí)也降低了可讀性。
     
    JPA的優(yōu)缺點(diǎn)
     
    優(yōu)點(diǎn)
     
    可持久化Java對(duì)象。JPA能夠直接持久化復(fù)雜的Java對(duì)象,并能夠使用JPQL語(yǔ)言進(jìn)行復(fù)雜的查詢。JPQL是JPA專用的查詢語(yǔ)言,是類似于SQL的面向?qū)ο蟮牟樵冋Z(yǔ)言。
     
    使用簡(jiǎn)單。JPA使用注釋(Annotation)定義Java對(duì)象與關(guān)系數(shù)據(jù)庫(kù)之間的映射,而傳統(tǒng)的ORM多使用xml配置文件。JPA使用起來(lái)比ORM要方便。使用JPA不用關(guān)注底層使用什么數(shù)據(jù)庫(kù)。
     
    規(guī)范標(biāo)準(zhǔn)化。JPA是JCP組織發(fā)布的,是Java官方規(guī)定的統(tǒng)一的API。目前已經(jīng)有多種框架實(shí)現(xiàn)JPA標(biāo)準(zhǔn)。使用了JPA的系統(tǒng)可以自由選擇遵循JPA標(biāo)準(zhǔn)的框架,并能夠自由更換。
     
    事務(wù)性、大數(shù)據(jù)量。JPA底層使用關(guān)系數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ),因此具備關(guān)系數(shù)據(jù)庫(kù)的特點(diǎn),例如事務(wù)性、數(shù)據(jù)完整性、并發(fā)訪問(wèn)、大數(shù)據(jù)量等。
     
    與其他持久化技術(shù)相比,JPA有很大的技術(shù)優(yōu)勢(shì)。表列出了JPA與其他持久化技術(shù)的比較。
     
    缺點(diǎn)
     
    因?yàn)閟ql語(yǔ)句是自動(dòng)生成的可讀性是比較差的,對(duì)于一些高級(jí)業(yè)務(wù)或者復(fù)雜的查詢都需要自己來(lái)實(shí)現(xiàn)sql。
     
    Mybatis的優(yōu)缺點(diǎn)
     
    優(yōu)點(diǎn)
     
    上手容易、提供xml標(biāo)簽、支持動(dòng)態(tài)SQL編程,Mapper映射,支持對(duì)象與數(shù)據(jù)庫(kù)的ORM字段關(guān)系映射。
     
    缺點(diǎn)
     
    SQL語(yǔ)句的編寫工作量較大,尤其是字段多、關(guān)聯(lián)表多時(shí),更是如此,對(duì)開發(fā)人員編寫SQL語(yǔ)句的功底有一定要求
     
    SQL語(yǔ)句依賴于數(shù)據(jù)庫(kù),導(dǎo)致數(shù)據(jù)庫(kù)移植性差,不能隨意更換數(shù)據(jù)庫(kù)
     
    當(dāng)希望對(duì)象的持久化對(duì)應(yīng)用程序完全透明是,不適合使用Mybatis
     
    當(dāng)數(shù)據(jù)庫(kù)有移植需求或需要支持多種數(shù)據(jù)庫(kù)時(shí),不適合使用Mybatis
     
    緩存使用不當(dāng),容易產(chǎn)生臟數(shù)據(jù)
    試聽課
    (責(zé)任編輯:代碼如詩(shī))
    ------分隔線----------------------------
    欄目列表
    推薦內(nèi)容