maven依赖
mybatis-plus里包含了spring-boot-jdbc-starter,所以无需重复引入
<mybatis-plus.version>3.1.0</mybatis-plus.version>
<druid.version>1.1.10</druid.version>
<fastjson.version>1.2.47</fastjson.version>
<mysql.version>8.0.11</mysql.version>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--数据源-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
</dependency>
这里最开始忘了添加spring.profiles.include了导致Druid初始化失败
配置文件application.yml
server:
port: 8083
servlet:
# 项目contextPath
context-path: /rbac
spring:
profiles:
#datasource,mybatisplus
include: datasource,mybatisplus
application-datasource.yml
spring:
datasource:
#mysql8以下使用
#driver-class-name: com.mysql.jdbc.Driver
#mysql8以上使用
driver-class-name: com.mysql.cj.jdbc.Driver
type: com.alibaba.druid.pool.DruidDataSource
url: jdbc:mysql://127.0.0.1:3306/springclouddemo?characterEncoding=utf-8&autoReconnect=true&failOverReadOnly=false&useSSL=false&serverTimezone=Asia/Shanghai
username: root
password: system
application-mybatisplus.yml
mybatis-plus:
global-config:
db-config:
id-type: auto
feild-strategy: not-empty
table-underline: true
db-type: mysql
logic-delete-value: 1
logic-not-delete-value: 1
mapper-location: classpath:/mapper/*.xml
配置类
@Configuration
public class DruidConfiguration {
@Bean
@ConfigurationProperties(prefix = "spring.datasource")
DataSource dataSource(){
return new DruidDataSource();
}
}
这个必须有,要不找不到DataSource。并且@ConfigurationProperties(prefix = “spring.datasource”)必须准确,这里卡了半个小时
测试类
@SpringBootTest(classes = RbacBizApplication.class)
public class DataSourceTest {
@Autowired
DataSource dataSource;
@Value("${spring.profiles.include}")
String include;
@Value("${spring.datasource.url}")
String dataSourceUrl;
@Test
void contextLoad(){
try {
System.out.println(include);
System.out.println(dataSourceUrl);
dataSource.getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
}
未完待续…