Spring Boot集成Druid+MyBatis+Freemarker:数据库连接池配置详解
需积分: 0 50 浏览量
更新于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 上传
2023-07-27 上传
2023-05-22 上传
2023-03-26 上传
2023-10-30 上传
2023-09-13 上传
2023-08-02 上传
搬码日记
- 粉丝: 651
- 资源: 26
最新资源
- MATLAB实现小波阈值去噪:Visushrink硬软算法对比
- 易语言实现画板图像缩放功能教程
- 大模型推荐系统: 优化算法与模型压缩技术
- Stancy: 静态文件驱动的简单RESTful API与前端框架集成
- 掌握Java全文搜索:深入Apache Lucene开源系统
- 19计应19田超的Python7-1试题整理
- 易语言实现多线程网络时间同步源码解析
- 人工智能大模型学习与实践指南
- 掌握Markdown:从基础到高级技巧解析
- JS-PizzaStore: JS应用程序模拟披萨递送服务
- CAMV开源XML编辑器:编辑、验证、设计及架构工具集
- 医学免疫学情景化自动生成考题系统
- 易语言实现多语言界面编程教程
- MATLAB实现16种回归算法在数据挖掘中的应用
- ***内容构建指南:深入HTML与LaTeX
- Python实现维基百科“历史上的今天”数据抓取教程