??專欄【SpringBoot】
??喜歡的詩句:天行健,君子以自強不息。
??音樂分享【如愿】
??歡迎并且感謝大家指出小吉的問題??

Spring Boot可以非常方便地集成MyBatis來實現(xiàn)對數(shù)據(jù)庫的訪問,從而快速搭建項目持久層。如果你也想利用Spring Boot整合MyBatis,本文將為你詳細(xì)講解整合過程。
我們將創(chuàng)建一個Spring Boot工程,引入MyBatis相關(guān)依賴,編寫Mapper接口與SQL映射文件,直接通過接口方法訪問數(shù)據(jù)庫。整合后的MyBatis可以自動參與到Spring事務(wù)中,讓我們只需要注解和SQL就可以實現(xiàn)DAO層的開發(fā)。
跟隨本文,你將可以掌握Spring Boot下整合MyBatis的配置方法,并通過一個實際案例感受它的強大魔力。這將為后續(xù)項目開發(fā)奠定堅實基礎(chǔ)。
??Spring Boot和MyBatis的好處
整合Spring Boot和MyBatis有以下幾個好處:
簡化配置:Spring Boot提供了自動配置功能,可以根據(jù)類路徑上的依賴自動配置數(shù)據(jù)庫連接和MyBatis相關(guān)的配置,減少了繁瑣的XML配置。只需要進(jìn)行少量的配置,就可以快速啟動和運行應(yīng)用程序。
快速開發(fā):Spring Boot框架提供了很多開箱即用的功能和特性,如自動裝配、自動配置、內(nèi)嵌服務(wù)器等,可以快速構(gòu)建和部署Web應(yīng)用程序。MyBatis作為一種簡單易用的ORM框架,可以方便地進(jìn)行數(shù)據(jù)庫操作。整合兩者可以提高開發(fā)效率,快速實現(xiàn)業(yè)務(wù)邏輯。
靈活性和可擴展性:Spring Boot和MyBatis都是非侵入式的框架,可以與其他框架或技術(shù)無縫集成。通過使用Spring Boot的注解和配置,可以輕松地整合其他持久層框架、消息隊列、緩存等技術(shù),滿足復(fù)雜應(yīng)用的需求。
易于測試:Spring Boot提供了良好的測試支持,可以輕松編寫單元測試和集成測試。MyBatis的Mapper接口和SQL語句都可以進(jìn)行單元測試,可以方便地驗證數(shù)據(jù)訪問的正確性。
生態(tài)系統(tǒng)豐富:Spring Boot和MyBatis都擁有龐大的社區(qū)支持和活躍的開發(fā)者社區(qū),提供了大量的文檔、教程和示例,解決問題時可以得到快速的幫助和支持。
綜上所述,整合Spring Boot和MyBatis可以簡化配置、提高開發(fā)效率、增加靈活性和可擴展性,同時還能夠享受Spring Boot和MyBatis各自的優(yōu)勢和生態(tài)系統(tǒng)的支持。這使得開發(fā)人員能夠更加專注于業(yè)務(wù)邏輯的實現(xiàn),快速構(gòu)建可靠的Web應(yīng)用程序。
??創(chuàng)建工程
創(chuàng)建一個工程
刪除不必要的東西
創(chuàng)建domain包,里面寫入Book類
package com.example.domain;
public class Book {
private Integer id;
private String name;
private String type;
private String description;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
@Override
public String toString() {
return "Book{" +
"id=" + id +
", name='" + name + '\'' +
", type='" + type + '\'' +
", description='" + description + '\'' +
'}';
}
}
寫入
數(shù)據(jù)層
,創(chuàng)建數(shù)據(jù)層接口BookDao
在BookDao中寫入內(nèi)容
package com.example.dao;
import com.example.domain.Book;
import org.apache.ibatis.annotations.Select;
@Mapper
public interface BookDao {
@Select("select * from abc where id=#{1}") //修改為自己的表名和id
public Book getById(Integer id);
}
修改properties文件為yml文件
在yml文件中寫入內(nèi)容
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/abc //修改為自己的數(shù)據(jù)庫名
username: root
password: "1234" //密碼是純數(shù)字的要帶上雙引號
測試接口
package com.example;
import com.example.dao.BookDao;
import com.example.domain.Book;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class Demo7ApplicationTests {
@Autowired
private BookDao bookDao;
@Test
void testGetById() {
Book book=bookDao.getById(1);
System.out.println(book);
}
}
運行成功
??報錯解決
??java: 警告: 源發(fā)行版 17 需要目標(biāo)發(fā)行版 17
這是因為springboot版本太高了
我們降低一下就好了
??亂碼
運行后發(fā)現(xiàn),之前在yml文件中的中文,運行后變成了亂碼
解決方法
通過本文,我們已經(jīng)掌握了在Spring Boot中集成MyBatis的方法,很好地結(jié)合了兩者的優(yōu)勢,實現(xiàn)了DAO層的快速開發(fā)。在后續(xù)的學(xué)習(xí)中,我們還可以引入MyBatis的多種高級用法,如逆向工程等。
如果大家在整合過程中還有其他問題,例如事務(wù)支持、配置優(yōu)化等,請在評論區(qū)隨時與我討論。文章來源:http://www.zghlxwxcb.cn/news/detail-745485.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-745485.html
到了這里,關(guān)于【SpringBoot篇】SpringBoot整合Mybatis實戰(zhàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!