当前位置: 代码网 > it编程>编程语言>Java > 为什么SpringBoot不需要配置JDBC连接池?原因在这里

为什么SpringBoot不需要配置JDBC连接池?原因在这里

2026年07月29日 Java 我要评论
整合连接池jdbc连接池是spring配置中的重要一环,在springboot中该如何处理呢?答案是不需要处理,我们只要找到springboot提供的启动器即可:在pom.xml中引入jdbc的启动器

整合连接池

jdbc连接池是spring配置中的重要一环,在springboot中该如何处理呢?

答案是不需要处理,我们只要找到springboot提供的启动器即可:

在pom.xml中引入jdbc的启动器:

<!--jdbc的启动器,默认使用hikaricp连接池-->
<dependency>
    <groupid>org.springframework.boot</groupid>
    <artifactid>spring-boot-starter-jdbc</artifactid>
</dependency>
<!--不要忘记数据库驱动,因为springboot不知道我们使用的什么数据库,这里选择mysql-->
<dependency>
    <groupid>mysql</groupid>
    <artifactid>mysql-connector-java</artifactid>
</dependency>

此时springboot已经自动帮我们引入了一个连接池:

我们只需要指定连接池参数即可:

# 连接四大参数
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

当然,如果你更喜欢druid连接池,也可以使用druid官方提供的启动器:

<!-- druid连接池 -->
<dependency>
    <groupid>com.alibaba</groupid>
    <artifactid>druid-spring-boot-starter</artifactid>
    <version>1.1.6</version>
</dependency>

而连接信息的配置与上面是类似的,只不过在连接池特有属性上,方式略有不同:

#初始化连接数
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
#监控页面启动
spring.datasource.druid.stat-view-servlet.allow=true

整合mybatis

springboot官方并没有提供mybatis的启动器,不过mybatis官方自己实现了:

<!--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的启动器,默认使用hikaricp连接池-->
        <dependency>
            <groupid>org.springframework.boot</groupid>
            <artifactid>spring-boot-starter-jdbc</artifactid>
        </dependency>
        <!--不要忘记数据库驱动,因为springboot不知道我们使用的什么数据库,这里选择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>

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com