日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

【框架】114:mybatis初體驗(yàn)

 劉小愛v 2020-08-06

今天是劉小愛自學(xué)Java的第114天。

感謝你的觀看,謝謝你。

從今天開始進(jìn)入myBatis框架的學(xué)習(xí)。

既然要學(xué)它,那肯定要搞清楚它是干嘛的?

它是由Apache開源的一個數(shù)據(jù)持久層框架,

提到數(shù)據(jù)持久層,我就想到了dao層,也就很自然而然地想到了數(shù)據(jù)庫。

它可以對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行增刪改查,并且比我們之前在用的jdbcTemplate更加。

簡單說下今天的學(xué)習(xí)內(nèi)容:

  • jdbc環(huán)境搭建,關(guān)于maven父工程的引入。
  • jdbc核心步驟的回顧。
  • mybatis介紹以及入門程序編寫。

一、jdbc環(huán)境的搭建

1maven父工程

我們學(xué)Java的都知道繼承的概念,父類中的屬性和方法,子類都可以直接使用。

其實(shí)在maven工程中也有父工程和子工程的概念,我們創(chuàng)建一個父工程:

和創(chuàng)建普通maven工程一樣的方式,需要注意的地方在于:

  • 打包方式設(shè)為pom。
  • src文件可以刪除,因?yàn)槲覀兊拇a都是寫在對應(yīng)的子工程中的,父工程不需要寫代碼。

那既然不寫代碼,父工程用來干嘛的呢?

2依賴管理

關(guān)于依賴,學(xué)maven的時候?qū)iT就講過,說白了就是jar包,但比jar包更好管理。

每個業(yè)務(wù)模塊都會有自己需要的jar包。

既然如此,那何不專門把依賴存放在父工程?那個子工程需要哪些依賴就取哪些。

①版本管理

每一個jar包都會有各種各樣的版本,如果版本不統(tǒng)一就會出現(xiàn)沖突問題。

而父工程就可以解決這個問題。

在父工程中就規(guī)定好jar包的版本號,所有的子工程都是用父工程中指定的版本。

如果版本號需要更換,只需要修改父工程中的即可,管理起來特別地方便。

②依賴管理

子工程需要哪些依賴,直接從父工程中取。

當(dāng)然一般都會在父工程中放很多依賴,我這邊截圖放不下,就不一一說明了。

3創(chuàng)建子工程

其創(chuàng)建步驟如下圖:

直接在父工程中new一個子工程。

module,模塊的意思,父工程下的一個模塊,也就是它的子工程。

在子工程pom文件中引入對應(yīng)的依賴即可,其中關(guān)于版本不用規(guī)定,由父工程決定。

最后做一個小結(jié):

父工程的典型作用在于jar包版本的統(tǒng)一管理,此外還有項(xiàng)目的聚合(這個后續(xù)會學(xué))。

二、jdbc的回顧

既然是對數(shù)據(jù)庫進(jìn)行操作,肯定先要有對應(yīng)的數(shù)據(jù)來做測試:

導(dǎo)入對應(yīng)的sql文件創(chuàng)建數(shù)據(jù)表。

當(dāng)然在數(shù)據(jù)量不多的情況下,也可以直接在Navicat上創(chuàng)建sql語句并執(zhí)行。

sql語句我這邊就不說明了,測試數(shù)據(jù)網(wǎng)上找,自己寫都可以。

有了數(shù)據(jù)表之后,我們使用Java代碼對數(shù)據(jù)庫進(jìn)行查詢操作。

其核心六步驟,因?yàn)槭褂昧祟A(yù)編譯,所以多了一個設(shè)置參數(shù)的步驟。

這些步驟不說滾瓜爛熟,基本上也是非常熟悉了,寫了很多遍:

①注冊驅(qū)動②獲取連接

數(shù)據(jù)庫四大金剛,根據(jù)這四個參數(shù)可以定位我們要操作的數(shù)據(jù)庫:

數(shù)據(jù)庫在哪臺電腦上?數(shù)據(jù)庫叫什么名字?

③預(yù)編譯④設(shè)置參數(shù)

關(guān)于預(yù)編譯我以前專門也學(xué)習(xí)說明過,為了防止sql注入,使用預(yù)編譯。

參數(shù)也就是指定sql語句中“?”的值。

⑤執(zhí)行語句

查詢語句,使用executeQuery()方法。

⑥處理結(jié)果⑦釋放資源

根據(jù)數(shù)據(jù)表中對應(yīng)的字段名,取出對應(yīng)的值。

表中字段有很多,這邊只取兩個作為例子。

好,代碼編寫完畢,但是這個流程太復(fù)雜繁瑣了,每次都要這樣寫的話簡直要命。

所以為了簡化代碼的編寫,我們后面學(xué)習(xí)了jdbcTemplate,使用起來方便很多。

而mybatis要更加地強(qiáng)大。

三、mybatis的引入

1核心配置文件

在resource中創(chuàng)建一個mybatis的XML核心配置文件,名稱自定義。

該配置文件代碼的編寫,我們需要參考官方文檔或者網(wǎng)絡(luò)搜尋復(fù)制即可。

但是我們要修改里面的參數(shù):也就是數(shù)據(jù)庫四大金剛,要設(shè)置成我們自己的。

其中的映射文件需要再次創(chuàng)建一個配置文件,并且映射文件一定要在核心文件配置說明。

就是每創(chuàng)建一個新的映射文件,都要記得在該核心配置文件中說明。

2映射文件配置

該配置文件等于是把sql語句獨(dú)立出去了,我們以前要在Java代碼中編寫一個Java字符串。

namespace+id

這個就是作為標(biāo)識,在Java代碼中需要使用其定位sql語句的位置。

resultType

Java中的實(shí)體類和數(shù)據(jù)庫中的表存在著對應(yīng)關(guān)系,比如User實(shí)體類和tab_user表。

其中要寫User類的全限定名。

3Java代碼編寫

①獲取核心配置文件

也就是1中的mybatis-config.xml文件。

這里使用mybatis提供的Resources工具類調(diào)用getResourceAsStream()即可。

獲取的結(jié)果就是一個IO流。

②獲取sqlSession

先構(gòu)建對應(yīng)的工廠,再調(diào)用openSession()方法開啟session。

③執(zhí)行查詢操作

因?yàn)槲覀冊谟成湮募袑?yīng)的是查詢,那這里使用selectOne方法,參數(shù)為:

  • 映射文件中對應(yīng)的id。
  • sql語句中需要的參數(shù)。

④關(guān)流不要忘記了

以上就是對于mybatis的使用,點(diǎn)擊運(yùn)行即可對數(shù)據(jù)庫進(jìn)行查詢。

當(dāng)然對各個步驟只是做了一個初步了解,具體有什么作用還并不是很清楚。

明天我們繼續(xù)深入地學(xué)習(xí)mybatis。

最后

謝謝你的觀看。

如果可以的話,麻煩幫忙點(diǎn)個贊,謝謝你。

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多