值java.sql.SQLException:其中URL不能为空[多模块应用程序]

问题描述 投票:0回答:1

我想使用的oauth2服务器来访问我的web应用程序。

认证考好,我重定向到我的web应用程序。

但问题是,当我试图从我的数据基本负荷DATAS,我得到这个

例外:

    janv. 31, 2017 1:16:07 PM org.apache.tomcat.jdbc.pool.PooledConnection connectUsingDriver
    AVERTISSEMENT: Not loading a JDBC driver as driverClassName property is null.
    janv. 31, 2017 1:16:07 PM org.apache.tomcat.jdbc.pool.ConnectionPool init
    GRAVE: Unable to create initial connections of pool.
    java.sql.SQLException: The url cannot be null

有人能帮助我吗。

编辑:

我有一个单独的配置模块,其中设置我的数据库连接。而我这个功能,就像在我的web应用程序的依赖性。

我application.properties文件

# DataSource configuration
datasource.host=localhost
datasource.name=my-db
datasource.port=5432

datasource.username=my-user
datasource.password=my-password

datasource.url=jdbc:postgresql://${datasource.host}:${datasource.port}/${datasource.name}
datasource.driver.class.name=org.postgresql.Driver

我的配置类(我用的MyBatis像ORM)

@Configuration
@MapperScan(basePackages = {"com.package.mapper"})
@ComponentScan(basePackages = {"com.package.repository"})
public class MyBatisConfig {

  @Value("${datasource.driver.class.name}")
  private String dbDriverClassName;

  @Value("${datasource.url}")
  private String dbUrl;

  @Value("${datasource.username}")
  private String dbUsername;

  @Value("${datasource.password}")
  private String dbPassword;

  @Bean
  public DataSource getDataSource() {
    return DataSourceBuilder
        .create()
        .url(dbUrl)
        .driverClassName(dbDriverClassName)
        .username(dbUsername)
        .password(dbPassword)
        .build();
  }

  @Bean
  public SqlSessionFactory sqlSessionFactory() throws Exception {
    SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
    sessionFactory.setConfigLocation(new ClassPathResource("META-INF/spring/mybatis-config.xml"));
    sessionFactory.setDataSource(getDataSource());
    return sessionFactory.getObject();
  }

  @Bean
  public DataSourceTransactionManager transactionManager() {
    return new DataSourceTransactionManager(getDataSource());
  }
}
java spring connection-pooling mybatis oauth2
1个回答
0
投票

我认为你必须在你的配置文件设置数据库连接。因为,从异常您发布我可以看到你不加载JDBC DriverManager的驱动程序和URL来访问你的数据库。

"driverClassName" value="oracle.jdbc.OracleDriver" 
"url" value="jdbc:oracle:thin:@localhost:1521:xe"
"username" value="user"
"password" value="password"

这是我在说什么的一个简单的例子。如果我错了,请用你的数据库连接配置编辑您的帖子。

© www.soinside.com 2019 - 2024. All rights reserved.