SpringBoot3集成MyBatis詳解
引言
MyBatis是一款開源的持久層框架,它極大地簡化了與數(shù)據(jù)庫的交互流程。與類似Hibernate的ORM框架不同,MyBatis更具靈活性,允許開發(fā)者直接使用SQL語句與數(shù)據(jù)庫進(jìn)行交互。Spring Boot和MyBatis分別是兩個功能強(qiáng)大的框架,它們的協(xié)同使用可以極大地簡化數(shù)據(jù)訪問層的開發(fā),提高整體的開發(fā)效率。本文將詳細(xì)介紹在Spring Boot項目中如何集成MyBatis,以實現(xiàn)對數(shù)據(jù)庫的輕松訪問和操作。
springboot3-mybatis.jpg
添加依賴
Spring Boot 3 發(fā)布后,Mybatis Starter相對應(yīng)的mybatis-spring-boot-starter
版本為3.x
<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>3.0.3</version> </dependency>
添加配置文件
常用的mybatis配置如下所示:
mybatis: mapper-locations: classpath:mybatis/**/*Mapper.xml type-aliases-package: cn.xj.xjdoc.**.entity configuration: map-underscore-to-camel-case: true
參數(shù)說明:
- mybatis.mapper-locations:指定MyBatis的Mapper XML文件的位置。
- mybatis.type-aliases-package:指定MyBatis的類型別名包,即包含實體類的包路徑,方便在xml配置文件中使用實體類時不用寫包名。
- mybatis.configuration.map-underscore-to-camel-case:開啟或關(guān)閉駝峰命名法的自動映射功能。true表示開啟,將數(shù)據(jù)庫字段的下劃線風(fēng)格(例如,user_name)自動映射為Java實體類的駝峰命名風(fēng)格(例如,userName)。
創(chuàng)建實體類和Mapper接口
創(chuàng)建一個實體類,表示數(shù)據(jù)庫中的表,然后創(chuàng)建一個Mapper接口,用于定義數(shù)據(jù)庫操作的方法。示例:
實體類SysUser:
@Data public class SysUser { private String userName; private String account; }
Mapper接口SysUserMapper:
@Mapper public interface SysUserMapper { List<SysUser> listUser(); }
如果我們在啟動類上使用了 @MapperScan
注解,就可以批量掃描 MyBatis 的 Mapper 接口所在的包,并將這些接口注冊為 MyBatis 的映射器。在這種情況下,Mapper 接口本身就不再需要使用 @Mapper
注解來明確標(biāo)識其為 MyBatis 的 Mapper 接口了。
@SpringBootApplication @MapperScan("cn.xj.xjdoc.**.mapper") public class XjdocApplication { public static void main(String[] args) { SpringApplication.run(XjdocApplication.class, args); } }
創(chuàng)建Mapper XML文件
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="cn.xj.xjdoc.system.mapper.SysUserMapper"> <select id="listUser" resultType="SysUser"> select * from sys_user </select> </mapper>
最后,運行你的Spring Boot應(yīng)用程序,并確保沒有錯誤發(fā)生。訪問相關(guān)端點,測試數(shù)據(jù)庫操作是否正常。
總結(jié)
總體而言,Spring Boot集成MyBatis為開發(fā)者提供了一套高效而又易于維護(hù)的數(shù)據(jù)庫訪問方案。通過合理的配置和良好的代碼組織,我們能夠快速搭建出健壯可靠的數(shù)據(jù)訪問層,為整個應(yīng)用的開發(fā)打下堅實基礎(chǔ)。
以上就是SpringBoot3集成MyBatis詳解的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot3集成MyBatis的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Java 轉(zhuǎn)型(向上或向下轉(zhuǎn)型)詳解及簡單實例
這篇文章主要介紹了Java 轉(zhuǎn)型(向上或向下轉(zhuǎn)型)詳解及簡單實例的相關(guān)資料,需要的朋友可以參考下2017-02-02java輕量級規(guī)則引擎easy-rules使用介紹
這篇文章主要介紹了java輕量級規(guī)則引擎easy-rules使用介紹,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06Java怎么獲取當(dāng)前時間、計算程序運行時間源碼詳解(超詳細(xì)!)
有的時候,我們需要查看某一段代碼的性能如何,最為簡單的方式,可以通過計算該段代碼執(zhí)行的耗時,來進(jìn)行簡單的判斷,這篇文章主要給大家介紹了關(guān)于Java怎么獲取當(dāng)前時間、計算程序運行時間的相關(guān)資料,需要的朋友可以參考下2024-07-07Spring security如何重寫Filter實現(xiàn)json登錄
這篇文章主要介紹了Spring security 如何重寫Filter實現(xiàn)json登錄,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09SpringBoot Redisson 集成的實現(xiàn)示例
本文主要介紹了SpringBoot Redisson 集成的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-05-05mybatis 映射文件中if標(biāo)簽判斷字符串相等的兩種方式
這篇文章主要介紹了mybatis 映射文件中if標(biāo)簽判斷字符串相等的方式,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-06-06使用IDEA創(chuàng)建SpringBoot項目的方法步驟
這篇文章主要介紹了使用IDEA創(chuàng)建SpringBoot項目的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05基于CopyOnWriteArrayList并發(fā)容器(實例講解)
下面小編就為大家?guī)硪黄贑opyOnWriteArrayList并發(fā)容器(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11