1、mybatis-config.xml文件的配置

一、新建maven項(xiàng)目,在pom.xml里導(dǎo)入依賴
? ? ? ? 老規(guī)矩處理pom.xml的報(bào)錯(cuò)。
? ? ? ? 解決后首先導(dǎo)入需要使用到的依賴。導(dǎo)入依賴時(shí)若自己的私服里面沒有,則建議去阿里云的公服查找自己所需要的版本再將其依賴復(fù)制到pom.xml文件中。https://maven.aliyun.com/mvn/search

二、resources目錄下新建mybatis-config.xml文件
? ? ? ? 若不知道m(xù)ybatis怎么使用配置文件的話可以去mybatis官網(wǎng)查詢,上面有開放的步驟教你使用。http://www.mybatis.org/mybatis-3/zh/getting-started.html

配置文件里面的configuration屬性,底層會(huì)讀入這個(gè)xml文件并將該標(biāo)簽封裝為對(duì)象進(jìn)行使用:
? ?1)配置環(huán)境enviroment
從前面介紹的官網(wǎng)直接拿過來使用,前提是在resource目錄下新建一個(gè)db.propreties文件存放數(shù)據(jù)庫(kù)相關(guān)信息。不建該文件也行,不建時(shí)只需把value那兒的值直接換成db.propreties里面對(duì)應(yīng)名字的值即可。(數(shù)據(jù)庫(kù)用戶名,密碼記得寫成自己的,之所以u(píng)rl寫///數(shù)據(jù)庫(kù)名 是因?yàn)樽约旱亩丝谔?hào)為8080,若默認(rèn)端口不是這個(gè)的則寫//,之后需要加上自己的端口號(hào))


? ?2)配置映射mapper
? ? ?注意自己的路徑,自己的xxxMapper.xml文件寫在哪兒路徑就對(duì)應(yīng)填哪兒。

? ?3)配置xxxMapper.xml文件,通過其中的namespace+id定位對(duì)數(shù)據(jù)庫(kù)執(zhí)行的具體操作

三、java目錄下新建測(cè)試類,測(cè)試mybatis是否配置成功(通過獲得xxxMapper.class實(shí)現(xiàn)的)
測(cè)試mybatis配置文件有兩種方式,一通過session.select或者update等方法,二通過session獲得xxxMapper.class再去調(diào)用dao接口里面的方法(底層已自己實(shí)現(xiàn)),在此筆者使用的是第二種方式。
? ? ? ?1)讀取mybatis的核心配置文件mybatis-config.xml
? ? ? ? 2)通過sqlSessionFactoryBulider建立session工廠factory
? ? ? ? 3)使用工廠factory創(chuàng)建session對(duì)象
? ? ? ? 4)通過xxxMapper.xml文件下的namespace+id定位到具體的數(shù)據(jù)庫(kù)操作
? ? ? ? 5)處理結(jié)果
? ? ? ? 6)關(guān)閉session連接(將連接返回給連接池)
項(xiàng)目結(jié)構(gòu)如下所示:


成功聯(lián)通數(shù)據(jù)庫(kù),并讀出數(shù)據(jù),測(cè)試成功。
2、SpringMVC-config.xml的配置
一、SpringMVC運(yùn)行流程
Controller層即SpringMVC要做的事就是接收用戶的請(qǐng)求,調(diào)用相應(yīng)的映射處理器處理并將返回結(jié)果響應(yīng)給用戶,其核心是dispatcherServlet,這個(gè)前端控制器專門負(fù)責(zé)控制和調(diào)用,其運(yùn)行流程如下所示。

SpringMVC運(yùn)行流程


通過這幾張運(yùn)行原理圖,我想對(duì)SpringMVC應(yīng)該有更清晰的理解了吧,下面根據(jù)圖很容易就能理解SpringMVC的配置。
二、SpringMVC-config.xml的配置
? ? ? ? ? ? 1)放行靜態(tài)資源
? ? ? ? ? ? 2)配置注解驅(qū)動(dòng)
? ? ? ? ? ? 3)配置要掃描的包,讓spring將其自動(dòng)注冊(cè)為bean對(duì)象
? ? ? ? ? ? 4)配置視圖解析器返回的視圖
? ? ? ? ? ? 5)配置入口web.xml文件

三,在web.xml中配置SpringMVC
? ? ? ? ? ? 1)配置Controller核心dispatcherServlet,將所有請(qǐng)求交給SpringMVC來處理
? ? ? ? ? ? 2)給予springmvc-config.xml文件的位置
? ? ? ? ? ? 3)配置SpringMVC亂碼處理過濾器


四、測(cè)試是否配置成功
在webapp下面建立測(cè)試頁(yè)面,將項(xiàng)目部署到tomcat服務(wù)器上,啟動(dòng)程序運(yùn)行在服務(wù)器上,輸入自己設(shè)置的url訪問路徑,測(cè)試結(jié)果。



五、小結(jié)
? ? ? ? 1)在此次配置過程中spring文件夾下面建立了兩個(gè)文件,一個(gè)是springmvc-config.xml,另一個(gè)是applicationContext.xml文件,在運(yùn)行時(shí)由于applicationContext.xml是空的所以導(dǎo)致首行報(bào)錯(cuò),在加入首行xml聲明后還是錯(cuò)的,后面筆者就想是否與首行下面的聲明有關(guān)系,加入后確實(shí)正確了。筆者在想可能是兩種原因,一種是xml文件格式就必須是這樣寫的,另一種是由于springmvc是屬于spring的一部分導(dǎo)致,具體是那種還有待研究,筆者下去會(huì)繼續(xù)琢磨的,當(dāng)然如果屏幕前有哪位親愛的讀者能解答我的疑惑,那筆者也感激不盡。
? ? ? ? 2)此次配置過程中在WEB-INF下面加入的一些jsp頁(yè)面全部報(bào)錯(cuò),在problems下面看見是http的相關(guān)問題,只要一提到http毫無疑問趕緊檢查自己是否選擇了目標(biāo)運(yùn)行環(huán)境,因?yàn)橹挥衪omcat服務(wù)器才與http相關(guān),也才有服務(wù)器才會(huì)提供servlet相關(guān)信息。
3、Spring與Mybatis的整合
一、applicationContext.xml的配置
1、剪切掉mybatis-config.xml文件里的配置信息
2、改在appilcationContext.xml里面配置
3、配置context,告訴db.properties的位置
4、配置druid連接池,即數(shù)據(jù)源DataSource,每個(gè)標(biāo)簽最后都會(huì)被封裝成為一個(gè)bean對(duì)象,故使用bean標(biāo)簽配置。
5、配置sqlsessionfactory,將sqlsession對(duì)象的創(chuàng)建交給spring容器。
? ? 5.1 指定mybatis核心配置文件的位置
? ? 5.2 配置連接池(數(shù)據(jù)源) ref指向連接池bean對(duì)象的id值
? ? 5.3?掃描所有的?XxxMapper.xml映射文件,讀取其中配置的SQL語(yǔ)句
6、定義mapper接口掃描器,?掃描所有XxxMapper接口,將接口實(shí)例的創(chuàng)建交給spring容器
7、配置需要掃描的包(service層):spring自動(dòng)去掃描?base-package下的類, 如果掃描到的類上有?@Controller、@Service、@Component等注解, 將會(huì)自動(dòng)將類注冊(cè)為bean(即由spring創(chuàng)建實(shí)例)

二、注意事項(xiàng)
1、DataSource里面的name為driverClassName,與之前mybatis里面不一致!若此處寫錯(cuò)則在啟動(dòng)服務(wù)器時(shí)會(huì)報(bào)DataSource找不到的錯(cuò)誤。
2、給的每一個(gè)文件路徑的前面一定要加上classpath:文件路徑
三、測(cè)試
Controller層下新建測(cè)試類
requestMapping給出輸入的測(cè)試路徑
return表示跳轉(zhuǎn)的頁(yè)面(此處若想要跳轉(zhuǎn)的不是頁(yè)面,則在方法上加入ResponseBody即可)
AutoWired表示自動(dòng)裝配:由spring自動(dòng)為屬性賦值(對(duì)象)

