Spring Boot集成Druid+MyBatis+Freemarker:数据库连接池配置详解
需积分: 0 165 浏览量
更新于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 上传
搬码日记
- 粉丝: 650
- 资源: 26
最新资源
- StickyMayhem
- Face-Tracker-Haar-Kanade:使用Lucas-Kanade和Haar Cascade算法即使在数据集有限的情况下也可以跟踪人脸
- dodgeballs:躲开球!
- 女性美容养生护理手机网站模板
- template-cpanel-adminiziolite:模板 CPanel Adminiziolite
- raw-connect:具有Polkadot JS WasmProvider实现的基板Wasm客户端的原始模板
- 基于三菱PLC程序的花样喷泉控制程序.zip
- Yoda-to-sl:尤达告诉你怎么走!
- soko-city:崇光市
- 防京东商城手机网站模板
- Awesome-Trajectory-Prediction
- 易语言-易语言简单的多线程例子
- 模板-tmp7
- 间歇交替输出PLC程序.rar
- ecommerce-bikeshop:一个电子商务网络应用程序,受在线自行车商店网站的启发,让您使用Google身份验证创建帐户,添加购物车中的商品,使用Stripe进行付款等等
- django-dropboxchooser-field:Django的Dropbox选择器字段