訂閱
糾錯(cuò)
加入自媒體

Mybatis架構(gòu)筆記來了,你還學(xué)不廢嗎???

一、三層架構(gòu)

界面層: 和用戶打交道的, 接收用戶的請(qǐng)求參數(shù), 顯示處理結(jié)果的。(jsp ,html ,servlet)

業(yè)務(wù)邏輯層: 接收了界面層傳遞的數(shù)據(jù),計(jì)算邏輯,調(diào)用數(shù)據(jù)庫(kù),獲取數(shù)據(jù)

數(shù)據(jù)訪問層: 就是訪問數(shù)據(jù)庫(kù), 執(zhí)行對(duì)數(shù)據(jù)的查詢,修改,刪除等等的。

三層對(duì)應(yīng)的包

界面層: controller包 (servlet)

業(yè)務(wù)邏輯層: service 包(XXXService類)

數(shù)據(jù)訪問層: dao包(XXXDao類)

三層中類的交互

用戶使用界面層--> 業(yè)務(wù)邏輯層--->數(shù)據(jù)訪問層(持久層)-->數(shù)據(jù)庫(kù)(mysql)

三層對(duì)應(yīng)的處理框架

界面層---servlet---springmvc(框架)

業(yè)務(wù)邏輯層---service類--spring(框架)

數(shù)據(jù)訪問層---dao類--mybatis(框架)

二、框架

框架是一個(gè)舞臺(tái), 一個(gè)模版

模版:

1. 規(guī)定了好一些條款,內(nèi)容。

 2. 加入自己的東西

框架是一個(gè)模塊:

 1.框架中定義好了一些功能。這些功能是可用的。

 2.可以加入項(xiàng)目中自己的功能, 這些功能可以利用框架中寫好的功能。

框架是一個(gè)軟件,半成品的軟件,定義好了一些基礎(chǔ)功能, 需要加入你的功能就是完整的;A(chǔ)功能是可重復(fù)使用的,可升級(jí)的。

框架特點(diǎn):

 1. 框架一般不是全能的, 不能做所有事情

 2. 框架是針對(duì)某一個(gè)領(lǐng)域有效。 特長(zhǎng)在某一個(gè)方面,比如mybatis做數(shù)據(jù)庫(kù)操作強(qiáng),但是他不能做其它的。

3. 框架是一個(gè)軟件

三、mybatis框架

一個(gè)框架,早期叫做ibatis,  代碼在github。

mybatis是 MyBatis SQL Mapper Framework for Java (sql映射框架)

1)sql mapper :sql映射

        可以把數(shù)據(jù)庫(kù)表中的一行數(shù)據(jù)  映射為 一個(gè)java對(duì)象。

一行數(shù)據(jù)可以看做是一個(gè)java對(duì)象。操作這個(gè)對(duì)象,就相當(dāng)于操作表中的數(shù)據(jù)

2) Data Access Objects(DAOs) : 數(shù)據(jù)訪問 , 對(duì)數(shù)據(jù)庫(kù)執(zhí)行增刪改查。

mybatis提供了哪些功能:

 1. 提供了創(chuàng)建Connection ,Statement, ResultSet的能力 ,不用開發(fā)人員創(chuàng)建這些對(duì)象了

 2. 提供了執(zhí)行sql語(yǔ)句的能力, 不用你執(zhí)行sql

 3. 提供了循環(huán)sql, 把sql的結(jié)果轉(zhuǎn)為java對(duì)象, List集合的能力

4.提供了關(guān)閉資源的能力,不用你關(guān)閉Connection, Statement, ResultSet

開發(fā)人員做的是: 提供sql語(yǔ)句

最后是: 開發(fā)人員提供sql語(yǔ)句--mybatis處理sql---開發(fā)人員得到List集合或java對(duì)象(表中的數(shù)據(jù))

總結(jié):

mybatis是一個(gè)sql映射框架,提供的數(shù)據(jù)庫(kù)的操作能力。增強(qiáng)的JDBC,使用mybatis讓開發(fā)人員集中精神寫sql就可以了,不必關(guān)心Connection,Statement,ResultSet的創(chuàng)建,銷毀,sql的執(zhí)行。

聲明: 本文由入駐維科號(hào)的作者撰寫,觀點(diǎn)僅代表作者本人,不代表OFweek立場(chǎng)。如有侵權(quán)或其他問題,請(qǐng)聯(lián)系舉報(bào)。

發(fā)表評(píng)論

0條評(píng)論,0人參與

請(qǐng)輸入評(píng)論內(nèi)容...

請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字

您提交的評(píng)論過于頻繁,請(qǐng)輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無(wú)評(píng)論

暫無(wú)評(píng)論

    掃碼關(guān)注公眾號(hào)
    OFweek人工智能網(wǎng)
    獲取更多精彩內(nèi)容
    文章糾錯(cuò)
    x
    *文字標(biāo)題:
    *糾錯(cuò)內(nèi)容:
    聯(lián)系郵箱:
    *驗(yàn) 證 碼:

    粵公網(wǎng)安備 44030502002758號(hào)