Mybatis 如何选择数据源?自己的数据库连接池好用么?你项目里面换哪个?
时间: 2024-01-21 18:03:25 浏览: 137
Mybatis 可以通过配置文件选择数据源,一般来说可以使用第三方的连接池,比如 Druid、HikariCP 等,也可以使用自带的数据库连接池,但是自带的连接池性能不如第三方连接池。
在我的项目中,我使用的是 HikariCP 数据库连接池,因为它性能优越,配置简单,使用方便,能够有效地提升应用程序的性能。同时,它也是目前被广泛使用的连接池之一,具有良好的社区支持和维护。
相关问题
mybatis数据库连接池
MyBatis框架中使用的是连接池,即PooledDataSource。连接池是为了降低物理连接的损耗,提高数据库连接资源的利用率。通过连接池,可以在应用程序启动时建立足够的数据库连接,并将这些连接组成一个连接池。应用程序在使用数据库时,可以动态地从连接池中申请、使用和释放连接。当连接不再使用时,并不会立即关闭物理连接,而是将其放回连接池中,等待下一个请求使用。这样可以避免频繁地打开和关闭物理连接,提高系统的性能。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [Mybatis数据源结构解析之连接池](https://blog.csdn.net/srs1995/article/details/110424762)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
数据库5版本如何配置mybatis数据库连接池
在 Mybatis 中,可以使用第三方数据库连接池来提高性能和可扩展性。Mybatis 支持多种连接池,其中比较常用的有 Apache DBCP、C3P0、HikariCP 等。
下面以 HikariCP 为例,介绍在数据库5版本中如何配置 mybatis 数据库连接池:
1. 首先,在 pom.xml 文件中添加 HikariCP 的依赖:
```xml
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>3.4.5</version>
</dependency>
```
2. 然后,在 mybatis-config.xml 文件中添加数据源的配置:
```xml
<configuration>
<environments default="development">
<environment id="development">
<!-- 使用 JdbcTransactionFactory 事务管理器 -->
<transactionManager type="JDBC" />
<!-- 配置数据源 -->
<dataSource type="com.zaxxer.hikari.HikariDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/test" />
<property name="username" value="root" />
<property name="password" value="root" />
<!-- 其他 HikariCP 配置 -->
<property name="maximumPoolSize" value="10" />
</dataSource>
</environment>
</environments>
...
</configuration>
```
上面的配置中,使用了 HikariDataSource 作为数据源,同时也可以通过设置 HikariCP 的其他属性来调整连接池的性能。
3. 最后,在 Mapper.xml 文件中可以直接使用数据库连接,如:
```xml
<select id="getUser" resultType="com.example.User">
SELECT * FROM user WHERE id = #{id}
</select>
```
其中,#{id} 是参数占位符,可以在 Java 代码中传入具体的参数值。Mybatis 会自动从连接池中获取连接,并执行数据库操作。
阅读全文