Spring Boot集成Druid+MyBatis+Freemarker:数据库连接池配置详解

需积分: 0 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应用架构。