SpringCloud+Druid+Mysql8+MybatisPlus環境搭建

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();
        }
    }

未完待續…

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章