zoukankan      html  css  js  c++  java
  • 使用通用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等其他对象,这些对象是创建不出来的, 不会使用

    启动器中的而对象, 因此出现空指针异常

  • 相关阅读:
    常见局域网类别
    精确率,召回率,准确率
    create-react-app创建第一个react程序_windows8.1
    编码与解码
    深度学习---嵌套简记
    反向传播算法简记
    MarkDown语法简记
    Vscode中的配置文件的作用简述
    wireshark 更好的查看TCP协议的数据,跟踪tcp流程
    wireshark 基础,颜色规则,过滤条件使用与多条过滤
  • 原文地址:https://www.cnblogs.com/zxq-Study-Java/p/9972400.html
Copyright © 2011-2022 走看看