第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

請(qǐng)教一下spring+mybatis的優(yōu)缺點(diǎn)?

請(qǐng)教一下spring+mybatis的優(yōu)缺點(diǎn)?

臨摹微笑 2019-09-09 16:09:12
spring+mybatis的優(yōu)缺點(diǎn)
查看完整描述

3 回答

?
楊__羊羊

TA貢獻(xiàn)1943條經(jīng)驗(yàn) 獲得超7個(gè)贊

優(yōu)點(diǎn):1. 易于上手和掌握。2. sql寫在xml里,便于統(tǒng)一管理和優(yōu)化。3. 解除sql與程序代碼的耦合。4. 提供映射標(biāo)簽,支持對(duì)象與數(shù)據(jù)庫(kù)的orm字段關(guān)系映射5. 提供對(duì)象關(guān)系映射標(biāo)簽,支持對(duì)象關(guān)系組建維護(hù)6. 提供xml標(biāo)簽,支持編寫動(dòng)態(tài)sql。缺點(diǎn):1. sql工作量很大,尤其是字段多、關(guān)聯(lián)表多時(shí),更是如此。2. sql依賴于數(shù)據(jù)庫(kù),導(dǎo)致數(shù)據(jù)庫(kù)移植性差。3. 由于xml里標(biāo)簽id必須唯一,導(dǎo)致DAO中方法不支持方法重載。4. 字段映射標(biāo)簽和對(duì)象關(guān)系映射標(biāo)簽僅僅是對(duì)映射關(guān)系的描述,具體實(shí)現(xiàn)仍然依賴于sql。(比如配置了一對(duì)多Collection標(biāo)簽,如果sql里沒(méi)有join子表或查詢子表的話,查詢后返回的對(duì)象是不具備對(duì)象關(guān)系的,即Collection的對(duì)象為null5. DAO層過(guò)于簡(jiǎn)單,對(duì)象組裝的工作量較大。6.  不支持級(jí)聯(lián)更新、級(jí)聯(lián)刪除。7. 編寫動(dòng)態(tài)sql時(shí),不方便調(diào)試,尤其邏輯復(fù)雜時(shí)。8 提供的寫動(dòng)態(tài)sql的xml標(biāo)簽功能簡(jiǎn)單(連struts都比不上),編寫動(dòng)態(tài)sql仍然受限,且可讀性低。9. 使用不當(dāng),容易導(dǎo)致N+1的sql性能問(wèn)題。10. 使用不當(dāng),關(guān)聯(lián)查詢時(shí)容易產(chǎn)生分頁(yè)bug。11. 若不查詢主鍵字段,容易造成查詢出的對(duì)象有“覆蓋”現(xiàn)象。12. 參數(shù)的數(shù)據(jù)類型支持不完善。(如參數(shù)為Date類型時(shí),容易報(bào)沒(méi)有g(shù)et、set方法,需在參數(shù)上加@param)13. 多參數(shù)時(shí),使用不方便,功能不夠強(qiáng)大。(目前支持的方法有map、對(duì)象、注解@param以及默認(rèn)采用012索引位的方式)14. 緩存使用不當(dāng),容易產(chǎn)生臟數(shù)據(jù)。 總結(jié):mybatis的優(yōu)點(diǎn)其實(shí)也是mybatis的缺點(diǎn),正因?yàn)閙ybatis使用簡(jiǎn)單,數(shù)據(jù)的可靠性、完整性的瓶頸便更多依賴于程序員對(duì)sql的使用水平上了。sql寫在xml里,雖然方便了修改、優(yōu)化和統(tǒng)一瀏覽,但可讀性很低,調(diào)試也非常困難,也非常受限,無(wú)法像jdbc那樣在代碼里根據(jù)邏輯實(shí)現(xiàn)復(fù)雜動(dòng)態(tài)sql拼接。mybatis簡(jiǎn)單看就是提供了字段映射和對(duì)象關(guān)系映射的jdbc,省去了數(shù)據(jù)賦值到對(duì)象的步驟而已,除此以外并無(wú)太多作為,不要把它想象成hibernate那樣強(qiáng)大,簡(jiǎn)單小巧易用上手,方便瀏覽修改sql就是它最大的優(yōu)點(diǎn)了。mybatis適用于小型且程序員能力較低的項(xiàng)目和人群使用,對(duì)于中大型項(xiàng)目來(lái)說(shuō)我并不推薦使用,如果覺(jué)得hibernate效率低的話(實(shí)際上也是使用不當(dāng)所致,hibernate是實(shí)際上是不適用于擁有高負(fù)載的工程項(xiàng)目),還不如直接用spring提供的jdbc簡(jiǎn)單框架(Template),同樣支持對(duì)象映射。

查看完整回答
反對(duì) 回復(fù) 2019-09-14
  • 3 回答
  • 0 關(guān)注
  • 962 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)