<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          究竟什么是DAO?

          共 667字,需瀏覽 2分鐘

           ·

          2021-02-09 04:48

          新的嘗試,30s聊架構(gòu),雙擊愛(ài)心


          什么時(shí)候進(jìn)行DAO層的抽象?

          一個(gè)業(yè)務(wù)系統(tǒng)最初的后端結(jié)構(gòu)如上:
          (1)web-server層從db層獲取數(shù)據(jù)并進(jìn)行加工處理;
          (2)db層存儲(chǔ)數(shù)據(jù);

          此時(shí),web-server層如何獲取底層的數(shù)據(jù)呢?
          web-server層獲取數(shù)據(jù)的一段偽代碼如上,不用糾結(jié)代碼的細(xì)節(jié),也不用糾結(jié)不同編程語(yǔ)言與不同數(shù)據(jù)庫(kù)驅(qū)動(dòng)的差異,其獲取數(shù)據(jù)的過(guò)程大致為:
          (1)創(chuàng)建一個(gè)與數(shù)據(jù)庫(kù)的連接,初始化資源;
          (2)根據(jù)業(yè)務(wù)拼裝一個(gè)SQL語(yǔ)句;
          (3)通過(guò)連接執(zhí)行SQL語(yǔ)句,并獲得結(jié)果集;
          (4)通過(guò)游標(biāo)遍歷結(jié)果集,取出每行數(shù)據(jù),亦可從每行數(shù)據(jù)中取出屬性數(shù)據(jù);
          (5)關(guān)閉數(shù)據(jù)庫(kù)連接,回收資源;

          隨著業(yè)務(wù)越來(lái)越復(fù)雜,每次都這么獲取數(shù)據(jù),非常低效,有大量冗余、重復(fù)、每次必寫(xiě)的代碼。

          如何讓數(shù)據(jù)的獲取更加高效快捷呢?
          可以通過(guò)技術(shù)手段實(shí)現(xiàn):
          (1)表的映射;
          (2)屬性成員的映射;
          (3)SQL函數(shù)的映射;

          絕大部分公司正在用ORM,DAO等技術(shù),進(jìn)行分層抽象,提高數(shù)據(jù)獲取的效率,屏蔽連接,游標(biāo),結(jié)果集這些復(fù)雜性。

          這就是DAO的由來(lái)

          一個(gè)新的嘗試,看30s-60s能不能講透一個(gè)技術(shù)點(diǎn)。

          掃碼關(guān)注“架構(gòu)師之路”視頻號(hào)


          如果大家喜歡,我盡量堅(jiān)持下去。
          希望大家有收獲,你的支持是我前進(jìn)的動(dòng)力。
          DAO,講透了嗎?
          瀏覽 126
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  无码免费高清 | 在线免费观看黄色网页 | 国产熟妇疯狂性做爰XXXⅩ网站 | 91免费成人电影 | 日韩一级黄色免费电影网站 |