一些数据库依赖配置
SpringBoot 默认配置数据源 HikariDataSource 一般情况下我们会用别的数据源 如 Druid
导入jdbc依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jdbc</artifactId> </dependency>
|

数据库版本依赖
默认版本:<mysql.version>8.0.22</mysql.version>
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId>
</dependency>
<properties> <java.version>1.8</java.version> <mysql.version>5.1.49</mysql.version> </properties>
|
修改配置项
spring: datasource:
url: jdbc:mysql://localhost:3306/springboottest?useUnicode=true&characterEncoding=utf8 username: root password: 33333333 driver-class-name: com.mysql.cj.jdbc.Driver
|
测试与数据库的连通性
JDBC已经能够满足大部分用户最基本的需求,但是在使用JDBC时,必须自己来管理数据库资源如:获取PreparedStatement,设置SQL语句参数,关闭连接等步骤。
JdbcTemplate是Spring对JDBC的封装,目的是使JDBC更加易于使用。JdbcTemplate是Spring的一部分。JdbcTemplate处理了资源的建立和释放。他帮助我们避免一些常见的错误,比如忘了总要关闭连接。他运行核心的JDBC工作流,如Statement的建立和执行,而我们只需要提供SQL语句和提取结果。
版权声明:本文为CSDN博主「localhost-9527」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_40001125/article/details/88538576
package com.manager.demo;
import com.manager.demo.bean.Stu; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.jdbc.JdbcTest; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.jdbc.core.JdbcTemplate;
import java.util.List; import java.util.Map;
@SpringBootTest @Slf4j class DemoApplicationTests {
@Autowired JdbcTemplate jdbcTemplate; @Test void test(){ List<Map<String, Object>> stus=jdbcTemplate.queryForList("select * from stu"); log.info(String.valueOf(stus));
}
|
使用Druid数据源
druid官方github地址
https://github.com/alibaba/druid
导入依赖
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.21</version> </dependency>
|
配置示例
spring: datasource: username: root password: 33333333 url: jdbc:mysql://localhost:3306/springboottest?useUnicode=true&characterEncoding=UTF-8 driver-class-name: com.mysql.cj.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource initialSize: 5 minIdle: 5 maxActive: 20 maxWait: 60000 timeBetweenEvictionRunsMillis: 60000 minEvictableIdleTimeMillis: 300000 validationQuery: SELECT 1 FROM DUAL testWhileIdle: true testOnBorrow: false testOnReturn: false poolPreparedStatements: true filters: stat,wall,log4j,config maxPoolPreparedStatementPerConnectionSize: 20 useGlobalDataSourceStat: true connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
servlet: multipart: max-file-size: 100MB max-request-size: 100MB
|
配置类代码
package com.manager.demo.config;
import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.support.http.StatViewServlet; import com.alibaba.druid.support.http.WebStatFilter; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.boot.web.servlet.ServletRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;
import javax.sql.DataSource; import java.util.HashMap; import java.util.Map;
@Configuration public class DruidConfig {
@ConfigurationProperties(prefix = "spring.datasource") @Bean public DataSource druidDataSource() { return new DruidDataSource(); }
@Bean public ServletRegistrationBean statViewServlet() { ServletRegistrationBean<StatViewServlet> bean = new ServletRegistrationBean<StatViewServlet>(new StatViewServlet(), "/druid/*");
Map<String, String> initParas = new HashMap<String, String>(); initParas.put("loginUsername", "admin"); initParas.put("loginPassword", "123456"); initParas.put("allow", ""); initParas.put("resetEnable", "false"); bean.setInitParameters(initParas); return bean; }
@Bean public FilterRegistrationBean webStatFilter() { FilterRegistrationBean bean = new FilterRegistrationBean(); bean.setFilter(new WebStatFilter()); bean.addUrlPatterns("/*"); Map<String, String> initParams = new HashMap<String, String>(); initParams.put("exclusions", "*.js,*.css,/druid/*"); bean.setInitParameters(initParams); return bean; } }
|
Druid后台网址
http://localhost:8080/druid/login.html
配置参考博客 点我查看源博客
成功截图 :