03.01 Java開發大型互聯網-Spring Boot如何集成MyBatis?

用戶130040176


spring boot+mybatis可以說是JAVA web開發的經典套餐了!

隨著微服務崛起,springboot成為web開發控制層的良好架構!而mybatis早就替代jpa和hibernate成為最流行的ORM映射框架,所以兩者結合成為必然選擇!


先來看下mybatis的優良特性:

1,框架小巧,經過簡單配置就可使用!

2,封裝了原始jdbc,不需要從驅動,連接等類寫起!

3,耦合度低:不需要在代碼層寫SQL,使用xml文件隔離!

4,支持動態sql!

回到正題,spring boot集成mybatis有兩種方式全部基於註解,和基於xml配置方式


基於xml的步驟如下:

1,創建項目,添加springboot依賴,mybatis依賴,connecter驅動等!

2,添加配置文件application.yml,配置服務端口,數據庫連接信息,使用mybatis: mapper-locations: classpath:mapping/*.xml配置sql所在路徑進行掃描!

3,增加實體類,DAO層接口,創建數據庫表!

4,在xx.xml文件中配置namespace(接口路徑)將sql和接口進行映射,編寫與接口對應名字的id的sql,開啟接口所在類的掃描註解!

5,編寫service,controller,注入以後進行測試!

基於註解方式的實現方式差不多,不過sql都使用註解寫在了dqo接口上!

mybatis作為配置簡單,性能優良的orm框架,有著愈發廣泛的應用,可以深度掌握下!

本文的Demo,可私信我索要,更多的技術分享,敬請關注。。。


此生唯一


過程其實很簡單,主要參考Spring Boot的官方文檔就可以實現。

這裡我再強調一點,Spring Boot的官方文檔不僅是最好的學習Spring Boot的教程,也是一個很好的學習閱讀英文文檔的啟蒙教程。

我之前在博客上寫過Spring Boot集成MyBatis的方法,但是問答裡面有沒合適的代碼格式,所以我在這裡只簡單的介紹一下每個步驟需要注意的地方,具體的代碼和配置,我會發鏈接。


先讓Spring Boot跑起來

請參考:https://www.jianshu.com/p/77e85ac4146b

直接參考官方的Quick Start即可。

  • 新建一個maven工程。

  • 引入jar包。

  • 增加一些包路徑,目前工程的目錄結構為:

  • 增加TownsApplication.java,這個是Spring boot的入口。

  • 暴露對外的Rest接口。

  • TownsApplication.java-->run as Java Application,運行後瀏覽器可以訪問。


Spring Boot的配置文件

請參考:https://www.jianshu.com/p/7f8ae32a4c10


Spring Boot使用一個全局的配置文件application.properties 或 application.yml,放在src/main/resources目錄下。

比如Tomcat默認端口號為8080,我們可以進行修改,在application.yml中添加:

server:

port: 8090

這樣配置後,啟動Spring Boot項目時Tomcat端口變為8090。


集成Mybatis

請參考:https://www.jianshu.com/p/51e1d23862cd


一般情況下,應用都會和數據發生交互,所以這張主要介紹一下如何和數據庫發生交互。

常用的集中方式包括:JdbcTemplate、ORM框架如Hibernate/Mybatis、JPA等等。

我也是看著別人的例子照貓畫虎,將Mybatis集成了進來。具體的細節,自己也在慢慢的理解中。

  • jar包的引入。

  • 在yml文件中配置數據庫的相關信息。

  • 增加數據源配置類:實際上這裡要還有一些事情沒有搞的特別清楚,這個配置類不是必須的,可以用Spring Boot自帶的數據源配置,但是我們使用的是第三方的數據源,並且使用Druid的時候,可以使用到它自帶的監控統計功能,所以需要寫這個配置類。


  • 具體配置數據源和監控,非生產環境使用的是Druid數據源,生產環境使用效率更高的HikariCP.

  • 增加MyBatis的相關配置.

  • Mapper:以往我們都比較習慣將sql文件寫在mapper.xml文件中,還有一個方法,可以直接將sql和方法進行綁定。



希望我的回答能夠幫助到你!更加具體的步驟請參考鏈接。


會點代碼的大叔


SpringBoot集成Mybatis比傳統的SSH框架集成Mybatis要簡單很多,請看下面操作過程:

一、創建Maven工程

注:我用是Spring Tool Suite(SpringBoot的工發工具,跟Eclipse一樣)

打開http://start.spring.io/,填寫完Group和Artifact,然後點生成工程下載代碼,一個SpringBoot空面板就生成好了,然後解壓導入即可。

二、pom.xml添加SpringBoot和Mybatis相關依賴

這裡除了要添加SpringBoot和Mybatis依賴之外,還需要新增數據庫驅動的依賴,這裡的代碼比較多,沒法全貼出來,我只貼幾項比較重要的:

三、application.properties中數據源及Mybatis配製

建議大家把application.properties文件修改成yml文件,這樣看著清晰有層次感。我使用的Spring Tool Suite版本低,沒有yml提示,所以就用properties寫了。

其中這兩項需要解釋下:

mybatis.mapper-locations:Mybatis Mapper映射文件所在路徑

mybatis.type-aliases-package:通常是實體類所在完整路徑,如果有多個,需要用逗號分隔開(貌似用分號也是可以的)

四、編寫代碼

編寫controller、entity、service、mapper等部分代碼(SpringBoot標準流程,這裡不贅述),代碼結構如下:

這裡需要注意以下幾點:

1、Mappper.xml namespace:是接口的完整路徑

2、statement ID:這個要和接口方法名保持一致

3、接口Mapper上要加註釋@Mapper(其實Mybatis推出了@Mapper註解後,那個蛋疼的Xml映射完全不用寫了,是不是更簡潔了)

五、啟動SpringBoot程序運行結果

如果你對SpringBoot比較熟悉的話,集成Mybatis顯得很簡單。比傳統的Mybatis環境搭建更簡單了很多。如果你們看了還有什麼疑問,不妨在評論區留言,需要源碼也在評論區留言後發你。謝謝大家!


程序員也有夢想


額,首先肯定是配置數據庫連接,然後maven依賴對應的Spring-Mybatis的依賴包,數據庫驅動都可以省略,然後將Mapper的xml的包掃描路徑配置進去就OK了


分享到:


相關文章: