国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

spring-boot集成mybatis真的很簡(jiǎn)單嗎?

這篇具有很好參考價(jià)值的文章主要介紹了spring-boot集成mybatis真的很簡(jiǎn)單嗎?。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

在日常的后端開(kāi)發(fā)中,使用mybatis作為DAO層的持久框架已經(jīng)是慣例。但很多時(shí)候都是在別人搭好的框架中進(jìn)行開(kāi)發(fā),對(duì)怎么搭建環(huán)境是一知半解,今天就來(lái)實(shí)踐下。

一、集成分哪些步驟

來(lái)看下集成mybatis需要哪些步驟,

1、確定環(huán)境及依賴

2、配置文件;

3、測(cè)試

二、環(huán)境及依賴

這里,基于springboot集成mybatis。先看下具體的版本,

springboot:2.3.3.RELEASE

mybatis-spring-boot-starter:2.3.0

mysql驅(qū)動(dòng):8.0.32

下面具體看下這些依賴,spring-boot自不用說(shuō),就是在這個(gè)環(huán)境下的;

mybatis-spring-boot-starter

mybatis-spring-boot-starter是針對(duì)mybatis和spring-boot集成而開(kāi)發(fā)的一個(gè)依賴,里邊包含了所需的依賴,方便集成,其實(shí)spring官方還有很多這樣的starter,例,

spring-boot集成mybatis真的很簡(jiǎn)單嗎?

可以看到官方提供了很多starter供開(kāi)發(fā)者使用。怎么沒(méi)看到mybatis-spring-boot-starter吶,不急,它不是官方提供的,而是mybatis官方提供的,多提一句,對(duì)于starter的命名官方也給出了這樣的建議,官方提供的spring-boot-starter-*,而第三方的則是thirdpartyproject-spring-boot-starter,

spring-boot集成mybatis真的很簡(jiǎn)單嗎?

詳見(jiàn):https://docs.spring.io/spring-boot/docs/2.3.0.RELEASE/reference/pdf/spring-boot-reference.pdf

你想創(chuàng)建自己的starter嗎,可以在文末“推薦閱讀”里找到相關(guān)的博文。

mysql驅(qū)動(dòng)也不用說(shuō),要使用程序訪問(wèn)mysql,自然少不了mysql的驅(qū)動(dòng)。

用一張圖來(lái)描述下,springboot下集成mybatis的一個(gè)邏輯流程,

spring-boot集成mybatis真的很簡(jiǎn)單嗎?

我們都知道,可以在程序中直接使用JDBC訪問(wèn)mysql,也可以使用mybatis訪問(wèn)mysql,在spring的環(huán)境下則通過(guò)mybatis-spring訪問(wèn)mysql。從圖中可以看到訪問(wèn)路徑更長(zhǎng)了,那集成mybatis的意義是什么,答案是使用更簡(jiǎn)單,還記得剛學(xué)習(xí)的時(shí)候使用JDBC的噩夢(mèng)嗎?

看下,引入的依賴,我這里使用父子項(xiàng)目,采用在父pom中管理依賴,子pom使用的原則。

父pom.xml

           <!--mybatis-spring-->
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>2.3.0</version>
            </dependency>
            <!--mysql的驅(qū)動(dòng)-->
            <dependency>
                <groupId>com.mysql</groupId>
                <artifactId>mysql-connector-j</artifactId>
                <version>8.0.32</version>
            </dependency>

子pom.xml這里不再列出,看下最終的依賴,

spring-boot集成mybatis真的很簡(jiǎn)單嗎?

可以看到mybatis-spring-boot-starter中已經(jīng)包含了mybatis、mybatis-spring等依賴,mybatis依賴不用單獨(dú)引了。換句話說(shuō),在spring-boot中集成mybatis且連接mysql使用下面兩個(gè)依賴即可,

1、mybatis-spring-boot-starter

2、mysql-connector-j

訪問(wèn)其他數(shù)據(jù)庫(kù)換掉驅(qū)動(dòng)即可。

三、配置文件

我們知道使用mybaits的目的是訪問(wèn)數(shù)據(jù)庫(kù),而且mybatis訪問(wèn)數(shù)據(jù)庫(kù)使用的是JDBC驅(qū)動(dòng)的方式,那么配置的話,可以分為兩塊,

1、mybatis配置

2、JDBC配置文件

3.1、mybatis配置

使用過(guò)mybatis的都了解,mybatis是基于xml的,使用xml來(lái)寫(xiě)sql實(shí)現(xiàn)數(shù)據(jù)庫(kù)的訪問(wèn),java是面向?qū)ο蟮?,所以要操作文件,或者說(shuō)調(diào)用xml中的方法需要一個(gè)對(duì)象,這個(gè)對(duì)象就是Mapper接口,所以,mybatis的配置文件有兩塊,一個(gè)是配置xml,另一個(gè)就是告訴mybatis將xml映射到哪些接口中。

application.yml中配置mybatis的xml

mybatis:
  mapper-locations: classpath*:mapper/*.xml

這些xml文件在resource文件夾下,

spring-boot集成mybatis真的很簡(jiǎn)單嗎?

接下來(lái)就是mapper接口,使用@MapperScan注解,在啟動(dòng)類(lèi)上配置掃描的包

spring-boot集成mybatis真的很簡(jiǎn)單嗎?

這樣就完成了mybatis的配置。接下來(lái)就是JDBC的配置。

3.2、JDBC配置文件

結(jié)合之前使用JDBC的經(jīng)驗(yàn),我們知道要?jiǎng)?chuàng)建一個(gè)JDBC連接需要知道數(shù)據(jù)庫(kù)驅(qū)動(dòng)名,連接URL、用戶名、密碼,這些就可以了。這里也是配置這些,在application.yml中進(jìn)行配置,

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/test?serverTimezone=GMT%2B8&autoReconnect=true&allowMultiQueries=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false
    username: root
    password: 123456

這樣JDBC的配置就可以了。上邊的具體配置需要自行修改成自己的。

有小伙伴說(shuō)不對(duì),我的配置里還有多了一個(gè),

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/test?serverTimezone=GMT%2B8&autoReconnect=true&allowMultiQueries=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false
    username: root
    password: 123456
    type: com.alibaba.druid.pool.DruidDataSource

沒(méi)錯(cuò),多的配置是datasource的類(lèi)型,這里可以不配,默認(rèn)是com.zaxxer.hikari.HikariDataSource,當(dāng)然了也可以指定,比如使用c3p0、druid等第三方數(shù)據(jù)庫(kù)連接池,這都是可以的(前提引入相關(guān)依賴)。不配置默認(rèn)使用下面三個(gè)中的一個(gè),有興趣的可以看下org.springframework.boot.jdbc.DataSourceBuilder類(lèi)的實(shí)現(xiàn),

spring-boot集成mybatis真的很簡(jiǎn)單嗎?

?

以上,就完成配置。經(jīng)過(guò)這幾步就完成了mybatis和spring-boot的集成,是不是很好奇為什么這么簡(jiǎn)單?下面簡(jiǎn)單分析下。

?

四、mybatis是怎么集成到springboot中的

講這個(gè)問(wèn)題之前,先要達(dá)成一個(gè)共識(shí):spring是一個(gè)bean的容器,管理bean的生命周期。

來(lái)看下mybatis中的Mapper接口,該接口會(huì)被實(shí)例化為一個(gè)代理對(duì)象,在代理對(duì)象中有一個(gè)sqlSession的變量,該變量是SqlSessionTemplate類(lèi)型的,SqlSessionTemplate是mybatis中的類(lèi),

spring-boot集成mybatis真的很簡(jiǎn)單嗎?

它是怎么被注入到spring管理的類(lèi)中,答案是通過(guò)MybatisAutoConfiguration這個(gè)類(lèi),該類(lèi)在mybatis-spring-boot-starter中,有這樣一個(gè)方法,

spring-boot集成mybatis真的很簡(jiǎn)單嗎?

該方法會(huì)生成一個(gè)sqlSessionTemplate,這樣就可以和mybatis聯(lián)系在一起了,而更有意思的是下面這個(gè)方法,生成sqlSessionFactory的方法,追蹤該方法可以看到mybatis的源碼中,并熟悉整個(gè)流程。

spring-boot集成mybatis真的很簡(jiǎn)單嗎?

感興趣的小伙伴可以自己看下源碼哦,同時(shí)也可以看“推薦閱讀”中有關(guān)mybaits源碼的分析。

?

五、總結(jié)

關(guān)于spring-boot集成mybatis的有關(guān)問(wèn)題就分享到這兒了,遵循下面幾點(diǎn),

1、添加相關(guān)依賴,mybatis-spring-boot-starter、數(shù)據(jù)庫(kù)驅(qū)動(dòng);

2、mybatis的配置,掃描mapper接口、加載xml文件;

3、數(shù)據(jù)源配置,驅(qū)動(dòng)類(lèi)、url、user、password等;

最后,本文用到的源碼均可關(guān)注下方公眾號(hào)獲得,歡迎與志同道合的你一起交流學(xué)習(xí)。

spring-boot集成mybatis真的很簡(jiǎn)單嗎?

推薦閱讀

我的第一個(gè)springboot ?starter

mybatis源碼配置文件解析之一:解析properties標(biāo)簽

springboot引入mybatis遇到的坑文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-474063.html

到了這里,關(guān)于spring-boot集成mybatis真的很簡(jiǎn)單嗎?的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Spring Boot集成MyBatis Plus

    Spring Boot集成MyBatis Plus

    在現(xiàn)代軟件開(kāi)發(fā)中,構(gòu)建高效、可維護(hù)的項(xiàng)目是至關(guān)重要的。Spring Boot 是一個(gè)流行的框架,它簡(jiǎn)化了Java應(yīng)用程序的開(kāi)發(fā)過(guò)程。而 MyBatis Plus 則是一個(gè)強(qiáng)大的持久層框架,通過(guò)簡(jiǎn)化數(shù)據(jù)庫(kù)操作,提升了開(kāi)發(fā)效率。本文將介紹如何使用 Spring Boot 結(jié)合 MyBatis Plus 構(gòu)建高效的項(xiàng)目,附

    2024年02月11日
    瀏覽(27)
  • 7. Spring Boot 與MyBatis集成

    在我們?nèi)粘5拈_(kāi)發(fā)過(guò)程中,肯定不可避免的會(huì)使用到數(shù)據(jù)庫(kù)以及 SQL 語(yǔ)句。比如,剛開(kāi)始學(xué)習(xí) Java 的時(shí)候可能會(huì)遇到 JDBC,它是連接 Java 和數(shù)據(jù)庫(kù)的橋梁,我們可以使用 JDBC 來(lái)建立與數(shù)據(jù)庫(kù)之間的連接并且執(zhí)行相應(yīng)的 SQL 語(yǔ)句。雖然 JDBC 的執(zhí)行效率很高,但是其開(kāi)發(fā)效率比較低

    2024年01月25日
    瀏覽(28)
  • 真的簡(jiǎn)單,單手用Spring Boot 開(kāi)發(fā)一個(gè)微信小程序

    真的簡(jiǎn)單,單手用Spring Boot 開(kāi)發(fā)一個(gè)微信小程序

    ??嗨,大家好,現(xiàn)在微信使用的用戶很多,作為開(kāi)發(fā)人員也可以建立一個(gè)自己的微信小程序,本期與大家分享一下作者建立微信小程序的開(kāi)發(fā)流程。 ??百度搜索微信公眾號(hào)平臺(tái),然后掃碼登錄注冊(cè)一個(gè)微信公眾號(hào), ??進(jìn)入申請(qǐng)頁(yè)面之后,需要及時(shí)完善小程序相關(guān)信息

    2024年02月10日
    瀏覽(375)
  • 從零開(kāi)始學(xué)Spring Boot系列-集成mybatis

    在Spring Boot的應(yīng)用開(kāi)發(fā)中,MyBatis是一個(gè)非常流行的持久層框架,它支持定制化SQL、存儲(chǔ)過(guò)程以及高級(jí)映射。在本篇文章中,我們將學(xué)習(xí)如何在Spring Boot項(xiàng)目中集成MyBatis,以便通過(guò)MyBatis進(jìn)行數(shù)據(jù)庫(kù)操作。 首先,我們需要在項(xiàng)目中添加MyBatis的依賴。在Spring Boot中,我們通常會(huì)使

    2024年03月10日
    瀏覽(25)
  • 深入解析Spring Boot集成MyBatis的多種方式

    深入解析Spring Boot集成MyBatis的多種方式

    ??歡迎來(lái)到架構(gòu)設(shè)計(jì)專(zhuān)欄~深入解析Spring Boot集成MyBatis的多種方式 ☆* o(≧▽≦)o *☆嗨~我是IT·陳寒?? ?博客主頁(yè):IT·陳寒的博客 ??該系列文章專(zhuān)欄:架構(gòu)設(shè)計(jì) ??其他專(zhuān)欄:Java學(xué)習(xí)路線 Java面試技巧 Java實(shí)戰(zhàn)項(xiàng)目 AIGC人工智能 數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí) ??文章作者技術(shù)和水平有限,如

    2024年02月04日
    瀏覽(22)
  • spring boot集成mybatis-plus——Mybatis Plus 查詢數(shù)據(jù)(圖文講解)

    spring boot集成mybatis-plus——Mybatis Plus 查詢數(shù)據(jù)(圖文講解)

    ?更新時(shí)間 2023-01-03 16:07:12 大家好,我是小哈。 本小節(jié)中,我們將學(xué)習(xí)如何通過(guò) Mybatis Plus 查詢數(shù)據(jù)庫(kù)表中的數(shù)據(jù)。 在前面小節(jié)中,我們已經(jīng)定義好了一個(gè)用于測(cè)試的用戶表, 執(zhí)行腳本如下: 定義一個(gè)名為? User ?實(shí)體類(lèi): 不明白 Mybatis Plus 實(shí)體類(lèi)注解的小伙伴,可參考前面

    2024年02月02日
    瀏覽(23)
  • 【Spring Boot】Spring Boot結(jié)合MyBatis簡(jiǎn)單實(shí)現(xiàn)學(xué)生信息管理模塊

    環(huán)境準(zhǔn)備 JDK Spring Boot MyBatis 創(chuàng)建Spring Boot項(xiàng)目 使用Spring Initializr創(chuàng)建一個(gè)新的Spring Boot項(xiàng)目,并添加以下依賴: Spring Web MyBatis Framework MySQL Driver 數(shù)據(jù)庫(kù)設(shè)計(jì) 在MySQL數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)名為 studentdb 的數(shù)據(jù)庫(kù),并創(chuàng)建一個(gè)名為 students 的表,表結(jié)構(gòu)如下:

    2024年02月11日
    瀏覽(93)
  • 從零開(kāi)始學(xué)Spring Boot系列-集成MyBatis-Plus

    從零開(kāi)始學(xué)Spring Boot系列-集成MyBatis-Plus

    在Spring Boot應(yīng)用開(kāi)發(fā)中,MyBatis-Plus是一個(gè)強(qiáng)大且易于使用的MyBatis增強(qiáng)工具,它提供了很多實(shí)用的功能,如代碼生成器、條件構(gòu)造器、分頁(yè)插件等,極大地簡(jiǎn)化了MyBatis的使用和配置。本篇文章將指導(dǎo)大家如何在Spring Boot項(xiàng)目中集成MyBatis-Plus。 首先,確保你已經(jīng)安裝了Java開(kāi)發(fā)環(huán)

    2024年04月08日
    瀏覽(75)
  • Spring boot簡(jiǎn)單集成Elasticsearch

    本文主要介紹Spring boot如何簡(jiǎn)單集成Elasticsearch,關(guān)于es,可以理解為一個(gè)數(shù)據(jù)庫(kù),往es中插入數(shù)據(jù),然后使用es進(jìn)行檢索。 環(huán)境準(zhǔn)備 安裝es 和kibana :參考 安裝ik分詞器:參考 相關(guān)配置 pom.xml文件中引入es: yml文件配置es: ES查詢 往es插數(shù)據(jù) 需要讓mapper層繼承ElasticsearchReposito

    2024年02月22日
    瀏覽(91)
  • spring boot集成mybatis-plus——Mybatis Plus 批量 Insert_新增數(shù)據(jù)(圖文講解)

    spring boot集成mybatis-plus——Mybatis Plus 批量 Insert_新增數(shù)據(jù)(圖文講解)

    ?更新時(shí)間 2023-01-10 16:02:58 大家好,我是小哈。 本小節(jié)中,我們將學(xué)習(xí)如何通過(guò) Mybatis Plus 實(shí)現(xiàn) MySQL 批量插入數(shù)據(jù)。 先拋出一個(gè)問(wèn)題:假設(shè)老板給你下了個(gè)任務(wù),向數(shù)據(jù)庫(kù)中添加 100 萬(wàn)條數(shù)據(jù),并且不能耗時(shí)太久! 通常來(lái)說(shuō),我們向 MySQL 中新增一條記錄,SQL 語(yǔ)句類(lèi)似如下:

    2024年02月04日
    瀏覽(28)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包