Java?Mybatis框架由淺入深全解析上篇
學(xué)習(xí)路線(xiàn)
什么是三層架構(gòu)
在項(xiàng)目開(kāi)發(fā)中,遵循一種形式模式,分為三層。
界面層: 用來(lái)接收客 戶(hù)端的輸入,調(diào)用業(yè)務(wù)邏輯層進(jìn)行功能處理,返回結(jié)果給客戶(hù)端.過(guò)去的servlet就是界面層的功能.
**業(yè)務(wù)邏輯層:**用來(lái)進(jìn)行整個(gè)項(xiàng)目的業(yè)務(wù)邏輯處理,向上為界面層提供處理結(jié)果,向下問(wèn)數(shù)據(jù)訪(fǎng)問(wèn)層要數(shù)據(jù).
數(shù)據(jù)訪(fǎng)問(wèn)層:專(zhuān)門(mén)用來(lái)進(jìn)行數(shù)據(jù)庫(kù)的增刪改查操作,向上為業(yè)務(wù)邏輯層提供數(shù)據(jù).
嚴(yán)格遵守:
各層之間的調(diào)用順序是固定的,不允許跨層訪(fǎng)問(wèn).
界面層<------->業(yè)務(wù)邏輯層<------>數(shù)據(jù)訪(fǎng)問(wèn)層
舉個(gè)簡(jiǎn)單的例子:如果你去飯店吃飯,那么第一個(gè)見(jiàn)到你的肯定是服務(wù)員,你點(diǎn)過(guò)菜之后,服務(wù)員去找廚師,廚師在做飯之前,先要去倉(cāng)庫(kù)找材料,去詢(xún)問(wèn)采購(gòu)員。找到所有的材料之后,廚師開(kāi)始做飯,最后服務(wù)員會(huì)把飯給你。要嚴(yán)格遵守的是:顧客不能直接找廚師,也不能直接找采購(gòu),那么服務(wù)員,廚師,采購(gòu)員就是這三層,分別與項(xiàng)目開(kāi)發(fā)的 界面層,業(yè)務(wù)邏輯層,數(shù)據(jù)訪(fǎng)問(wèn)層,三層對(duì)應(yīng)。
常用的SSM框架(了解)
- Spring:它是整合其它框架的框架.它的核心是IOC和AOP.它由20多個(gè)模塊構(gòu)成.在很多領(lǐng)域都提供了很好的解決方案.是一個(gè)大佬級(jí)別的存在.
- SpringMVC:它是Spring家族的一員.專(zhuān)門(mén)用來(lái)優(yōu)化控制器(Servlet)的.提供了極簡(jiǎn)單數(shù)據(jù)提交,數(shù)據(jù)攜帶,頁(yè)面跳轉(zhuǎn)等功能.
- MyBatis:是持久化層的一個(gè)框架.用來(lái)進(jìn)行數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)的優(yōu)化.專(zhuān)注于sql語(yǔ)句.極大的簡(jiǎn)化了JDBC的訪(fǎng)問(wèn).
什么是框架
它是一個(gè)半成品軟件.
將所有的公共的,重復(fù)的功能解決掉,幫助程序快速高效的進(jìn)行開(kāi)發(fā).
它是可復(fù)用,可擴(kuò)展的.
它讓我們開(kāi)發(fā)更加簡(jiǎn)單,快捷,只關(guān)注主要邏輯的開(kāi)發(fā)
什么是Mybatis框架
MyBatis 本是 apache 的一個(gè)開(kāi)源項(xiàng)目iBatis, 2010 年這個(gè)項(xiàng)目由 apache software foundation 遷移到了 google code,并且改名為 MyBatis 。2013 年 11 月遷移到 Github,最新版本是 MyBatis 3.5.7 ,其發(fā)布時(shí)間是 2021 年 4月 7日。
(劃重點(diǎn),面試可能會(huì)問(wèn)哦?。。?MyBatis完成數(shù)據(jù)訪(fǎng)問(wèn)層的優(yōu)化.它專(zhuān)注于sql語(yǔ)句.簡(jiǎn)化了過(guò)去JDBC繁瑣的訪(fǎng)問(wèn)機(jī)制.
添加框架的步驟
- 添加依賴(lài)
- 添加配置文件:pom.xml文件是Mybatis的核心配置文件
具體步驟:
1.新建庫(kù)建表
#創(chuàng)建數(shù)據(jù)庫(kù)ssm CREATE DATABASE ssm DEFAULT CHARSET utf8; #使用(打開(kāi))ssm數(shù)據(jù)庫(kù) use ssm; #創(chuàng)建表student CREATE TABLE `student` ( `id` int(11) AUTO_INCREMENT primary key , `name` varchar(255) DEFAULT NULL, `email` varchar(255) DEFAULT NULL, `age` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; insert into student(name,email,age) values('張三','zhangsan@126.com',22); insert into student(name,email,age) values('李四','lisi@126.com',21); insert into student(name,email,age) values('王五','wangwu@163.com',22); insert into student(name,email,age) values('趙六','zhaoliun@qq.com',24); select * from student;
2.新建maven項(xiàng)目
選quickstart模板
新建空項(xiàng)目,創(chuàng)建模塊選擇maven項(xiàng)目,選擇quicstart 模板創(chuàng)建java項(xiàng)目
3.修改目錄
添加缺失的目錄,修改目錄屬性
這里需要注意:新建完成的文件夾還要作為資源,注意新添加的文件 rescoures的顏色
4.修改pom.xml文件
添加MyBatis的依賴(lài),添加mysql的依賴(lài)
這里選擇的版本不是最新,但是學(xué)習(xí)足夠了,同時(shí)也比較穩(wěn)定
<!--添加MyBatis框架的依賴(lài)--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.6</version> </dependency> <!--添加mysql依賴(lài)--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.32</version> </dependency>
修改完成記得刷新,IDEA雖然會(huì)自動(dòng)檢測(cè)刷新,但是養(yǎng)成良好的習(xí)慣
5.修改pom.xml文件
添加資源文件指定
<!--添加資源文件的指定--> <build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> <include>**/*.properties</include> </includes> </resource> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.xml</include> <include>**/*.properties</include> </includes> </resource> </resources> </build>
到這里我們把依賴(lài)和配置完全搞定了,下面是完整的pom.xml文件
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.longlong</groupId> <artifactId>mybatis</artifactId> <version>1.0-SNAPSHOT</version> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <!--添加MyBatis框架的依賴(lài)--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.6</version> </dependency> <!--添加mysql依賴(lài)--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.32</version> </dependency> </dependencies> <!--添加資源文件的指定--> <build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> <include>**/*.properties</include> </includes> </resource> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.xml</include> <include>**/*.properties</include> </includes> </resource> </resources> </build> </project>
總結(jié)
到這里今天的文章就算結(jié)束了,今天我們了解了三層架構(gòu),SSM框架,Mybatis框架的初步了解,完成了框架的添加。
到此這篇關(guān)于Java Mybatis框架由淺入深全解析上篇的文章就介紹到這了,更多相關(guān)Java Mybatis內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot項(xiàng)目啟動(dòng)時(shí)增加自定義Banner的簡(jiǎn)單方法
最近看到springboot可以自定義啟動(dòng)時(shí)的banner,然后自己試了一下,下面這篇文章主要給大家介紹了SpringBoot項(xiàng)目啟動(dòng)時(shí)增加自定義Banner的簡(jiǎn)單方法,需要的朋友可以參考下2022-01-01Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(49)
下面小編就為大家?guī)?lái)一篇Java基礎(chǔ)的幾道練習(xí)題(分享)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧,希望可以幫到你2021-08-08解決BeanUtils.copyProperties不支持復(fù)制集合的問(wèn)題
這篇文章主要介紹了解決BeanUtils.copyProperties不支持復(fù)制集合的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06SpringBoot如何進(jìn)行對(duì)象復(fù)制的實(shí)踐
本文主要介紹了SpringBoot 如何進(jìn)行對(duì)象復(fù)制,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09java中CompleteFuture與Future的區(qū)別小結(jié)
本文主要介紹了java中CompleteFuture與Future的區(qū)別小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-12-12Java中IO流 RandomAccessFile類(lèi)實(shí)例詳解
這篇文章主要介紹了Java中IO流 RandomAccessFile類(lèi)實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-05-05Maven?項(xiàng)目用Assembly打包可執(zhí)行jar包的方法
這篇文章主要介紹了Maven?項(xiàng)目用Assembly打包可執(zhí)行jar包的方法,該方法只可打包非spring項(xiàng)目的可執(zhí)行jar包,需要的朋友可以參考下2023-03-03