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

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

自己封裝JDBC VS 持久化框架

自己封裝JDBC VS 持久化框架

寶慕林4294392 2019-05-10 09:38:33
從jdbc到hibernate,從hibernate到mybatis,一直是麻木地跟著潮流,為了工作使用而使用我現(xiàn)在有個(gè)想法,在JDBC的基礎(chǔ)上進(jìn)行封裝使用jdbc+redis來進(jìn)行開發(fā),這樣我自己可以按自己的想法來蹂躪jdbc不知正式環(huán)境下,用這樣的方式進(jìn)行長期開發(fā)是否可行,是否存在問題?大公司持久化框架是自己封裝還是使用現(xiàn)成的持久化框架?
查看完整描述

2 回答

?
慕桂英546537

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

自己封裝沒什么問題,只是是否有足夠的資源與時(shí)間去做這件事。
現(xiàn)有的持久化框架主要功能點(diǎn)在于多SQL方言支持、多數(shù)據(jù)源配置、數(shù)據(jù)表映射(及實(shí)體字段變動(dòng)與數(shù)據(jù)庫表字段變動(dòng)的聯(lián)動(dòng)處理)、緩存與自動(dòng)化工具支持上。
如果業(yè)務(wù)只需要支持特定的SQL方言、少量甚至只有一個(gè)數(shù)據(jù)源、數(shù)據(jù)表映射的聯(lián)動(dòng)要求不高、不是非常需要緩存加持,那么自己封裝并不是什么壞的選擇。至于自動(dòng)化工具支持,IDE一般會(huì)自帶一些,然后就是SQL拼接工具之類的東西了,只要你熟悉設(shè)計(jì)模式與目標(biāo)SQL方言的語法,那么自己動(dòng)手做也挺好的。
特別的,關(guān)于數(shù)據(jù)表映射聯(lián)動(dòng),舉個(gè)栗子:
@Entity
publicclassStudentextendsBaseEntity{
privateStringname;
}
其中BaseEntity提供了基礎(chǔ)表字段,如id、createtime、updatetime之類的東西,現(xiàn)在業(yè)務(wù)需求在Student中增加/減少一個(gè)字段,要求你的框架能自動(dòng)識(shí)別并在對(duì)應(yīng)數(shù)據(jù)表增加/減少對(duì)應(yīng)字段,其中減少字段一般是直接取消對(duì)數(shù)據(jù)庫表的響應(yīng)字段映射即可。
然后一對(duì)多多對(duì)一之類的關(guān)聯(lián)關(guān)系如何建立,聯(lián)表查詢的API形式等等,都是需要考量的。
再舉個(gè)栗子,在hibernate中,允許通過@Where之類的注解來在對(duì)應(yīng)字段getter觸發(fā)時(shí)才拉取數(shù)據(jù)并應(yīng)用注解值進(jìn)行篩選,這種功能點(diǎn)是否需要以及如何去做。
公司普遍還是在現(xiàn)有ORM基礎(chǔ)上二次封裝出如mybatis-plus一類的東西,當(dāng)然技術(shù)實(shí)力以及資源充足的組或公司會(huì)選擇自行實(shí)現(xiàn)ORM中的部分東西。
                            
查看完整回答
反對(duì) 回復(fù) 2019-05-10
  • 2 回答
  • 0 關(guān)注
  • 577 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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