1. 程式人生 > >使用IDEA搭建SpringBoot + MyBatis + Oracle專案

使用IDEA搭建SpringBoot + MyBatis + Oracle專案

 

使用Idea搭建SpringBoot + MyBatis + Oracle專案

SpringBoot版本:1.5.9             

開啟idea 首頁選擇建立一個新專案

選擇Project SDK 即JDK安裝的目錄

初始服務URL 預設就好 因為是從官網獲取模版

Next下一步

可以看到專案基本資訊

Group即包名

Artifact 專案名

修改成我們自己的專案資訊(專案名自定)

下一步 依賴庫

選擇web 下一步

確定專案名和專案存放位置後 finish即可

IDEA推薦一個專案一個project 和eclipse不同

Finish後 IDEA會自動幫我們load

成功開啟後初始介面如下

和用STS和Eclipse建立的maven專案類似

.idea和.mvn可以理解為.classpath和.project 是

但多了倆個Application.java 此為SpringBoot應用啟動的入口程式

resources用途與之前類似 用於存放一些配置資訊

static:存放圖片,css,js等

template:存放HTML頁面

application:springboot的核心配置檔案:資料庫的連線資訊等

完善目錄結構

檢視pom檔案

pom.xml檔案中預設有倆個依賴模組和一個外掛

spring-boot-starter:核心模組 包括內嵌的Tomcat SpringMVC 等

spring-boot-test:測試模組 包括Junit等

因為在parent中我們配置裡版本資訊,所以以下所有子專案中相對應包中不需要再次配置版本號

新增我們要用到的MyBatis依賴

新增對Oracle & mysql資料的支援依賴

版本資訊

編寫配置檔案

application.properties

配置Oracle的連線資訊

 

在Entity包下建立一個實體類User

新增get和set方法 重寫toString

 

在mapper下建立介面UserMapper

在Mapper中新增測試方法

建立UserMapper.xml檔案 此處使用檔案配置形式

編寫mybatis基於配置檔案的sql語句

編寫完成後注意 此處Mapper.xml的放置位置和我們之前一樣與mapper介面在同級目錄下 不同

要放置在resources下 否則會報錯找不到對映mapper

在Service包建立一個UserService介面及其實現UserServiceImpl

       UserService

      

UserServiceImpl 實現UserService中方法

使用Spring注入Mapper ,在Service中呼叫mapper

如圖

 

 

按上圖 選中實現類名→goto→Test

IDEA自動建立測試類 結構如下

 

編寫測試類並使用Junit進行單元測試

呼叫userService

 

選中測試類Run

測試結果 全部通過

啟動類執行

 

 

 

至此,使用IDEA構建SpringBoot+MyBatis+Oracle專案成功。

 

在idea中也可以直接連線資料庫

選擇Oracle作為資料來源

 

填寫連線資訊 測試連線 Successful後確定即可

效果如圖

選中表雙擊也可查看錶中資料

也可以檢視建表語句和表編輯

OpenConsole開啟控制檯即可編寫SQL語句

關於SpringBootApplication匯入時報無法解析問題:

經查閱得出解決方案

刪掉 repository\org\springframework\boot 目錄下的spring-boot-autoconfigure 資料夾然後maven → reimport即可

如遇同等錯誤資訊 file→清楚快取重啟idea即可

在Service中使用註解@AutoWired注入Mapper時報

Could not autowire. No beans of 'UserMapper' type found錯時

修改AutoWired的檢測級別,將Severity的級別由之前的error改成warning即可

如圖

 

關於測試報Mapper注入失敗問題

確認在配置檔案中的地址正確

Mapper注入的時候could not autowire解決

在mapper介面加一個註解。如下所示:
@Component(value = “userMapper”)

Public interface UserMapper{

}