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等其他对象,这些对象是创建不出来的, 不会使用

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

  • 相关阅读:
    词法分析器实验报告(JAVA)
    词法编辑器(Java)
    编译原理的那些事
    Discuz7.2 faq.php页面注入漏洞分析
    Discuz7.2 XML漏洞
    Python 爬取广州商学院新闻----测试版
    进程调度
    DOS下的网络管理命令
    DOS批处理实验
    熟悉使用DOS操作命令
  • 原文地址:https://www.cnblogs.com/zxq-Study-Java/p/9972400.html
Copyright © 2011-2022 走看看