使用通用mapper過程中出現NullPointerException異常
已經配置的JdbcConfiguration程式碼如下
@Configuration
@EnableConfigurationProperties(JdbcProperties.class)
public class JdbcConfiguration {
@Autowired
private JdbcProperties jdbcProperties;
@Bean
public DataSource dataSource() {
DruidDataSource dataSource = new DruidDataSource();
dataSource.setUrl(jdbcProperties.getUrl());
dataSource.setDriverClassName(jdbcProperties.getDriverClassName());
dataSource.setUsername(jdbcProperties.getUsername());
dataSource.setPassword(jdbcProperties.getPassword());
return dataSource;
}
}
使用通用mapper引入的依賴
<!--jdbc的啟動器,預設使用HikariCP連線池-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!--不要忘記資料庫驅動,因為springboot不知道我們使用的什麼資料庫,這裡選擇mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- 通用mapper -->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.0.2</version>
</dependency>
在application.properties中
spring.datasource.url=jdbc:mysql://localhost:3306/heima
spring.datasource.username=root
spring.datasource.password=root
由於用@Configuration將JdbcConfiguration放入容器中,但是又沒有配置檔案,而通用mapper會優先利用容器中的dataSource等其他物件,這些物件是建立不出來的, 不會使用
啟動器中的而物件, 因此出現空指標異常