共计 1896 个字符,预计需要花费 5 分钟才能阅读完成。
download:Node.js 工程师养成打算【某课】
SpringBoot 整合 Druid 数据源
一、SpringBoot 整合 Druid
SprintBoot 默认使用的是 HikariDataSource 数据源,这次整合一个第三方的数据源 Druid,它是阿里开发的一款开源的数据源,被很多人认为是 Java 语言中最好的数据库连接池,因为 Druid 能够提供弱小的一整套监控和扩大功能。
默认情况下,sprintboot 使用 hikaridatasource 数据源。这一次,集成了第三方数据源 Druid。它是阿里巴巴开发的开源数据源,许多人认为它是 Java 语言中最好的数据库连接池,因为 Druid 可能提供一组弱小的监控和扩大功能。
1、在创建 SpringBoot 我的项目的时候,在 pom.xml maven 中增加依赖:
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-jdbc
mysql
mysql-connector-java
5.1.47
log4j
log4j
1.2.17
com.alibaba
druid
复制代码
注意:druid 依赖 log4j 的日志 jar 包,然而 SpringBoot 默认使用的是 slf4j+logback,所以导入 log4j 的 jar 包即可。
2、在 application.yml(或 aproperties)中增加相应的配置:
server:
port: 80
# 数据库连接信息
spring:
datasource:
username: root
password: 123456
url: jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=utf8&useSSL=true&serverTimezone=GMT
driver-class-name: com.mysql.cj.jdbc.Driver # com.mysql.jdbc.Driver
使用 Druid 数据源
type: com.alibaba.druid.pool.DruidDataSource
复制代码
3、log4j.properties 配置文件:
log4j.rootLogger = debug,stdout, D
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.Threshold = INFO
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p %m%n
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = ./log4j.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern=%d %p %m%n
复制代码
4、在运行测试方法,查看数据源
public class SpringbootdemoApplicationTests {
@Autowired
private JdbcTemplate jdbcTemplate;
@Autowired
private DataSource dataSource;
@Test
public void contextLoads() throws SQLException {System.out.println("dataSource==" + dataSource.getClass());
Connection con = dataSource.getConnection();
System.out.println("con==" + con);
List<Map<String, Object>> maps = jdbcTemplate.queryForList("select * from user");
System.out.println(maps);
}
}