最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

MyBatis框架詳解—框架是什么?

2021-03-19 16:59 作者:動力節(jié)點(diǎn)小王本王  | 我要投稿



MyBatis 是一款優(yōu)秀的持久層框架,它支持定制化 SQL、存儲過程以及高級映射。MyBatis 避免了幾乎所有的 JDBC 代碼和手動設(shè)置參數(shù)以及獲取結(jié)果集。MyBatis 可以使用簡單的 XML 或注解來配置和映射原生信息,將接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java對象)映射成數(shù)據(jù)庫中的記錄。
通過本課程的學(xué)習(xí),可以在最短的時(shí)間內(nèi)學(xué)會使用持久層框架MyBatis。


軟件開發(fā)常用結(jié)構(gòu)

三層架構(gòu)

?三層架構(gòu)包含的三層:

界面層(User Interface layer)、業(yè)務(wù)邏輯層(Business Logic Layer)、數(shù)據(jù)訪問層(Data access layer

三層的職責(zé)

1.?界面層(表示層,視圖層):主要功能是接受用戶的數(shù)據(jù),顯示請求的處理結(jié)果。使用 web?頁面和用戶交互,手機(jī) app?也就是表示層的,用戶在 app?中操作,業(yè)務(wù)邏輯在服務(wù)器端處理。

2.?業(yè)務(wù)邏輯層:接收表示傳遞過來的數(shù)據(jù),檢查數(shù)據(jù),計(jì)算業(yè)務(wù)邏輯,調(diào)用數(shù)據(jù)訪問層獲取數(shù)據(jù)。

3.?數(shù)據(jù)訪問層:與數(shù)據(jù)庫打交道。主要實(shí)現(xiàn)對數(shù)據(jù)的增、刪、改、查。將存儲在數(shù)據(jù)庫中的數(shù)據(jù)提交給業(yè)務(wù)層,同時(shí)將業(yè)務(wù)層處理的數(shù)據(jù)保存到數(shù)據(jù)庫。

三層的處理請求的交互:

用戶---> 界面層--->業(yè)務(wù)邏輯層--->數(shù)據(jù)訪問層--->DB 數(shù)據(jù)庫如圖:

為什么要使用三層????????????????????????

1、結(jié)構(gòu)清晰、耦合度低, 各層分工明確

2、可維護(hù)性高,可擴(kuò)展性高

3、有利于標(biāo)準(zhǔn)化

4、開發(fā)人員可以只關(guān)注整個結(jié)構(gòu)中的其中某一層的功能實(shí)現(xiàn)

5、有利于各層邏輯的復(fù)用

常用框架

MyBatis 框架:

MyBatis 是一個優(yōu)秀的基于 java 的持久層框架,內(nèi)部封裝了jdbc,開發(fā)者只需要關(guān)注sql 語句本身,而不需要處理加載驅(qū)動、創(chuàng)建連接、創(chuàng)建 statement等繁雜的過程。

mybatis 通過 xml 或注解的方式將要執(zhí)行的各種 statement 配置起來,并通過 java 對象和 statement 中sql 的動態(tài)參數(shù)進(jìn)行映射生成最終執(zhí)行的 sql 語句,最后由 mybatis 框架執(zhí)行 sql 并將結(jié)果映射為 java 對象并返回。

采用 ORM 思想解決了實(shí)體和數(shù)據(jù)庫映射的問題,對 jdbc 進(jìn)行了封裝,屏蔽了 jdbc api 底層訪問細(xì)節(jié),使我們不用與 jdbc api 打交道,就可以完成對數(shù)據(jù)庫的持久化操作。

常見的J2EE 中開發(fā)框架:

Spring 框架:

Spring 框架為了解決軟件開發(fā)的復(fù)雜性而創(chuàng)建的。Spring 使用的是基本的JavaBean 來完成以前非常復(fù)雜的企業(yè)級開發(fā)。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。

SpringMVC 框架

SpringMVC屬于SpringFrameWork 3.0版本中加入的1個模塊,為SPring框架提供了構(gòu)建Web應(yīng)用程序的能力?,F(xiàn)在可通過Spring框架的SpringMVC模塊實(shí)現(xiàn)web應(yīng)用開發(fā),在Web項(xiàng)目中可以無縫使用Spring和SpringMVC框架。

框架是什么?

框架定義

框架(Framework)是整個或部分系統(tǒng)的可重用設(shè)計(jì),表現(xiàn)為一組抽象構(gòu)件及構(gòu)件實(shí)例間交互的方法;另一種認(rèn)為,框架是可被應(yīng)用開發(fā)者定制的應(yīng)用骨架、模板。

簡單的說,框架其實(shí)是半成品軟件,就是一組組件,供你使用完成你自己的系統(tǒng)。從另一個角度來說框架一個舞臺,你在舞臺上做表演。在框架基礎(chǔ)上加入你要完成的功能。

框架安全的,可復(fù)用的,不斷升級的軟件。

框架解決的問題

框架要解決的最重要的一個問題是技術(shù)整合,在 J2EE?的 框架中,有著各種各樣的技術(shù),不同的應(yīng)用,系統(tǒng)使用不同的技術(shù)解決問題。需要從 J2EE?中選擇不同的技術(shù),而技術(shù)自身的復(fù)雜性,有導(dǎo)致更大的風(fēng)險(xiǎn)。企業(yè)在開發(fā)軟件項(xiàng)目時(shí),主要目的是解決業(yè)務(wù)問題。 即要求企業(yè)負(fù)責(zé)技術(shù)本身,又要求解決業(yè)務(wù)問題。這是大多數(shù)企業(yè)不能完成的??蚣馨严嚓P(guān)的技術(shù)融合在一起,企業(yè)開發(fā)可以集中在業(yè)務(wù)領(lǐng)域方面。

另一個方面可以提供開發(fā)的效率。

JDBC?編程

使用JDBC?編程的回顧

使用JDBC?的缺陷

1.?代碼比較多,開發(fā)效率低

2.?需要關(guān)注Connection ,Statement, ResultSet?對象創(chuàng)建和銷毀

3.?ResultSet 查詢的結(jié)果,需要自己封裝為List

4.?重復(fù)的代碼比較多些

5.?業(yè)務(wù)代碼和數(shù)據(jù)庫的操作混在一起

MyBatis?框架概述

MyBatis 框架:

MyBatis 本是apache 的一個開源項(xiàng)目 iBatis, 2010 年這個項(xiàng)目由apache?software foundation 遷移到了google code,并且改名為 MyBatis 。2013 年 11 月遷移到Github。

MyBatis?解決的主要問題

減輕使用JDBC 的復(fù)雜性,不用編寫重復(fù)的創(chuàng)建Connetion , Statement ; 不用編寫關(guān)閉資源代碼。

直接使用java 對象,表示結(jié)果數(shù)據(jù)。讓開發(fā)者專注 SQL 的處理。 其他分心的工作由MyBatis 代勞。

MyBatis 可以完成:

1.?注冊數(shù)據(jù)庫的驅(qū)動,例如Class.forName(“com.mysql.jdbc.Driver”))

2.?創(chuàng)建JDBC?中必須使用的 Connection?, Statement, ResultSet?對象

3.? xml?中獲取sql,并執(zhí)行sql?語句,把ResultSet?結(jié)果轉(zhuǎn)換java?對象

List<Student> list = new?ArrayLsit<>();

ResultSet rs = state.executeQuery(“select * from student”);?

while(rs.next){


? ? ? ? ? ?Student student = new Student();?

? ? ? ? ? ?student.setName(rs.getString(“name”));?

? ? ? ? ? ?student.setAge(rs.getInt(“age”));?

? ? ? ? ? ?list.add(student);

}

?4.?關(guān)閉資源

ResultSet.close() , Statement.close() , Conenection.close()


最后奉上視頻教程??,視頻觀看效果更佳!!走過路過別忘素質(zhì)三連哦~~


MyBatis框架詳解—框架是什么?的評論 (共 條)

分享到微博請遵守國家法律
邓州市| 鹿泉市| 昌江| 日照市| 武夷山市| 台南县| 巴林右旗| 阿图什市| 利辛县| 正阳县| 邛崃市| 疏勒县| 兴城市| 石首市| 徐水县| 赣州市| 南京市| 宁化县| 北辰区| 南安市| 隆化县| 太和县| 大渡口区| 大厂| 铅山县| 米脂县| 山西省| 那曲县| 扎赉特旗| 大荔县| 探索| 澄城县| 云林县| 南郑县| 德保县| 乐陵市| 宁波市| 赫章县| 鹤山市| 永济市| 景洪市|