為什么SpringBoot不需要配置JDBC連接池?原因在這里
整合連接池
jdbc連接池是spring配置中的重要一環(huán),在SpringBoot中該如何處理呢?
答案是不需要處理,我們只要找到SpringBoot提供的啟動器即可:
在pom.xml中引入jdbc的啟動器:
<!--jdbc的啟動器,默認(rèn)使用HikariCP連接池-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!--不要忘記數(shù)據(jù)庫驅(qū)動,因?yàn)閟pringboot不知道我們使用的什么數(shù)據(jù)庫,這里選擇mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>此時SpringBoot已經(jīng)自動幫我們引入了一個連接池:

我們只需要指定連接池參數(shù)即可:
# 連接四大參數(shù) spring.datasource.url=jdbc:mysql://localhost:3306/[your datasource] spring.datasource.username=root spring.datasource.password=root # 可省略,SpringBoot自動推斷 spring.datasource.driverClassName=com.mysql.jdbc.Driver spring.datasource.hikari.idle-timeout=60000 spring.datasource.hikari.maximum-pool-size=30 spring.datasource.hikari.minimum-idle=10
當(dāng)然,如果你更喜歡Druid連接池,也可以使用Druid官方提供的啟動器:
<!-- Druid連接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.6</version>
</dependency>而連接信息的配置與上面是類似的,只不過在連接池特有屬性上,方式略有不同:
#初始化連接數(shù) spring.datasource.druid.initial-size=1 #最小空閑連接 spring.datasource.druid.min-idle=1 #最大活動連接 spring.datasource.druid.max-active=20 #獲取連接時測試是否可用 spring.datasource.druid.test-on-borrow=true #監(jiān)控頁面啟動 spring.datasource.druid.stat-view-servlet.allow=true
整合mybatis
SpringBoot官方并沒有提供Mybatis的啟動器,不過Mybatis官方自己實(shí)現(xiàn)了:
<!--mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>配置,基本沒有需要配置的:
# mybatis 別名掃描 mybatis.type-aliases-package=[your pojo] # mapper.xml文件位置,如果沒有映射文件,請注釋掉 mybatis.mapper-locations=classpath:mappers/*.xml
需要注意,這里沒有配置mapper接口掃描包,因此我們需要給每一個Mapper接口添加@Mapper注解,才能被識別。

@Mapper
public interface UserMapper {
}
集成通用mapper
你也可以選擇老mybatis的mapper方式,自己寫sql
通用Mapper的作者也為自己的插件編寫了啟動器,我們直接引入即可:
<!-- 通用mapper -->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.0.2</version>
</dependency>不需要做任何配置就可以使用了
@Mapper
public interface UserMapper extends tk.mybatis.mapper.common.Mapper<User>{
//
}
演示的pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.itcast.user</groupId>
<artifactId>itcast-user</artifactId>
<version>1.0-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.6.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--jdbc的啟動器,默認(rèn)使用HikariCP連接池-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!--不要忘記數(shù)據(jù)庫驅(qū)動,因?yàn)閟pringboot不知道我們使用的什么數(shù)據(jù)庫,這里選擇mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<!-- 通用mapper -->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.0.2</version>
</dependency>
</dependencies>
</project>總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot調(diào)用DeepSeek接口的實(shí)現(xiàn)
本文主要介紹了SpringBoot調(diào)用DeepSeek接口的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-02-02
java實(shí)現(xiàn)在性能測試中進(jìn)行業(yè)務(wù)驗(yàn)證實(shí)例
這篇文章主要為大家介紹了java實(shí)現(xiàn)在性能測試中進(jìn)行業(yè)務(wù)驗(yàn)證實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
Spring Boot整合tk.mybatis代碼實(shí)例
這篇文章主要介紹了Spring Boot整合tk.mybatis代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-11-11
Java 中的 BiFunction 與 BinaryOperator使用示例
在Java8引入的函數(shù)式編程特性中,BiFunction和BinaryOperator是兩個非常重要的函數(shù)式接口,它們在處理二元操作和函數(shù)組合時發(fā)揮著關(guān)鍵作用,下面將從基礎(chǔ)概念、核心區(qū)別、實(shí)際應(yīng)用等多個維度深入解析這兩個接口,感興趣的朋友跟隨小編一起看看吧2025-09-09
Java棧和基礎(chǔ)隊列的實(shí)現(xiàn)詳解
這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)中的棧與隊列,在Java的時候,對于棧與隊列的應(yīng)用需要熟練的掌握,這樣才能夠確保Java學(xué)習(xí)時候能夠有扎實(shí)的基礎(chǔ)能力。本文小編就來詳細(xì)說說Java中的棧與隊列,需要的朋友可以參考一下2022-02-02
部署在linux上的java服務(wù)老是掛掉問題排查日志
當(dāng)服務(wù)器掛掉時,操作系統(tǒng)通常會記錄一些異常信息,檢查服務(wù)器的系統(tǒng)日志可以幫助定位問題所在,這篇文章主要介紹了部署在linux上的java服務(wù)老是掛掉問題排查日志的相關(guān)資料,需要的朋友可以參考下2025-10-10

