Spring Boot + Mybatis 如何使用连接池

How to use connection pool with Spring Boot + Mybatis

我正在学习 Spring Boot,我已经创建了一个简单的应用程序。

我使用以下 Maven 依赖项:

我想使用连接池来提高我的应用程序的速度,但我不确定如何为这个用例配置 Spring Boot 和 MyBatis。

之前我用的是JavaEE+应用服务器,通过mybatis.xml文件配置mybatis使用JNDI数据源。连接池由应用服务器提供。

但是现在,我有点搞不懂应该把数据库连接参数放在哪里,因为有两个可能的候选者:application.propertiesmybatis.xml

这两个配置文件在这个环境下有什么联系?

我知道 Spring 启动应用程序在 Tomcat 网络容器上运行,所以我无法在其中创建 JNDI 数据源和连接池。

在使用Spring Boot with Mybatis时指定数据库连接+连接池的正确方法是什么?

目前我也将连接参数添加到 mybatis.xml 和 application.xml 文件中:

application.properties

spring.datasource.url=...
spring.datasource.username=...
spring.datasource.password=...
spring.datasource.driver-class-name=...

mybatis.xml

<configuration>
    <environments default="jdbc">
        <environment id="jdbc">
            <transactionManager type="JDBC" />
            <datasource type="POOLED">
                <property name="driver" value="..." />
                <property name="url" value="..." />
                <property name="username" value="..." />
                <property name="password" value="..." />
        </environment>
    <environments>
</configuration>

如果您使用 mybatis-spring-boot-started,则不需要使用 mybatis.xml 来指定数据源参数。它不用于从 spring.

发起的数据库访问

为了添加连接池,您需要通过 spring-boot 添加对任何连接池 supported 的依赖。它向 org.springframework.boot:spring-boot-starter-jdbc 添加依赖项的最简单方法。如果你有它,连接已经被合并。