Spring Boot集成Druid+MyBatis+Freemarker:数据库连接池配置详解
需积分: 0 120 浏览量
更新于2024-09-09
收藏 123KB DOCX 举报
在Spring Boot项目中整合Spring、MyBatis和FreeMarker,涉及到了数据库连接池、配置文件管理和前端资源管理等多个知识点。本文将详细介绍如何使用Druid作为数据源,并配置相关的属性,以实现高效、安全的数据访问。
首先,引入Druid的连接池是为了更好地管理数据库连接,避免资源泄露和性能瓶颈。Druid是一个强大的Java数据库连接池,提供丰富的监控功能,如SQL审计、连接跟踪等。在项目的pom.xml文件中,通过以下依赖添加Druid:
```xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.25</version>
</dependency>
```
接下来,配置`application.properties`文件是Spring Boot应用的核心,这里用来设置Druid的数据源属性:
```properties
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.url=jdbc:mysql://localhost:3306/edu1?useUnicode=true&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driverClassName=com.mysql.jdbc.Driver
# 连接池参数
spring.datasource.initialSize=5
spring.datasource.minIdle=5
spring.datasource.maxActive=20
spring.datasource.maxWait=60000
spring.datasource.timeBetweenEvictionRunsMillis=60000
spring.datasource.minEvictableIdleTimeMillis=300000
spring.datasource.validationQuery=SELECT 1 FROM DUAL
spring.datasource.testWhileIdle=true
spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false
spring.datasource.poolPreparedStatements=true
spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
```
这些配置项分别解释如下:
- `initialSize`:初始化时创建的连接数量。
- `minIdle`:数据库连接池中的最小空闲连接数。
- `maxActive`:允许的最大活动连接数,超过这个值,Druid会阻塞。
- `maxWait`:当连接池中的连接耗尽,等待时间超过这个值后,才会抛出异常。
- `timeBetweenEvictionRunsMillis`:检查空闲连接的时间间隔(毫秒)。
- `minEvictableIdleTimeMillis`:一个连接在空闲状态的最长时间,超过则会被回收。
- `validationQuery`:用于验证连接是否有效的SQL语句。
- `testWhileIdle`:空闲连接检测期间是否执行validationQuery。
- `testOnBorrow`:每次获取连接前都执行validationQuery。
- `testOnReturn`:归还连接时执行validationQuery。
- `poolPreparedStatements`:是否启用预编译语句池。
- `maxPoolPreparedStatementPerConnectionSize`:每个连接允许的最大预编译语句数量。
在页面引用JS、JPG、CSS等静态资源时,可以使用`<script>`、`<link>`等HTML标签直接引用,或者配置Spring MVC的静态资源映射,确保在部署时正确加载。
最后,打包时要确保Druid的相关依赖被包含在最终的jar或war包中,这样才能在运行时正常使用。在构建工具(如Maven或Gradle)的配置中确认Druid的依赖已经被添加到打包过程。
整合Spring、MyBatis和FreeMarker的过程中,除了上述数据库连接池配置,还需要关注数据访问层(DAO)的设计,以及如何使用MyBatis进行持久层操作。同时,FreeMarker用于动态模板渲染,结合Spring MVC可以实现高效的页面渲染。通过合理配置和实践,可以建立健壮且易于维护的Web应用架构。
2017-09-18 上传
2017-06-12 上传
2024-02-26 上传
2016-06-03 上传
2019-03-06 上传
2021-05-29 上传
2017-05-03 上传
搬码日记
- 粉丝: 651
- 资源: 26
最新资源
- StarModAPI: StarMade 模组开发的Java API工具包
- PHP疫情上报管理系统开发与数据库实现详解
- 中秋节特献:明月祝福Flash动画素材
- Java GUI界面RPi-kee_Pilot:RPi-kee专用控制工具
- 电脑端APK信息提取工具APK Messenger功能介绍
- 探索矩阵连乘算法在C++中的应用
- Airflow教程:入门到工作流程创建
- MIP在Matlab中实现黑白图像处理的开源解决方案
- 图像切割感知分组框架:Matlab中的PG-framework实现
- 计算机科学中的经典算法与应用场景解析
- MiniZinc 编译器:高效解决离散优化问题
- MATLAB工具用于测量静态接触角的开源代码解析
- Python网络服务器项目合作指南
- 使用Matlab实现基础水族馆鱼类跟踪的代码解析
- vagga:基于Rust的用户空间容器化开发工具
- PPAP: 多语言支持的PHP邮政地址解析器项目