初始化独立数据库,Spring Boot 和 MyBatis

Initialize standalone databases, Spring Boot and MyBatis

我正在使用独立的 postgresql 数据库构建 Spring Boot + MyBatis 项目。

嗯,由于某种原因,"convention-based" 数据库初始化没有发生。我手动添加了数据源,创建了 sql-脚本,但是当我 运行 项目时,从日志中它甚至没有处理这些脚本。我想了解 该过程如何适用于非嵌入式数据库。

能否使用代码创建数据源实例?

我应该 link 数据源在 属性 文件中还是单独 class?

如何使用 Spring 引导配置来 link 单独的数据源(在本例中为 postgresql)?

  1. @Bean
    public DataSource dataSource() {
        DataSourceBuilder.create()
                         .url("jdbc:postgresql://localhost:5432/database")
                         .username("username")
                         .password("password")
                         ...
                         .build();
    }
    

    2-3。您可以使用 属性 文件并提供基于 java 的 DataSourceConfiguration

    spring.datasource.url: jdbc:postgresql://localhost:5432/database
    spring.datasource.username: username
    spring.datasource.password: pasword
    

    并在您的配置 class 中引用这些属性,如下所示:

    @Bean
    @ConfigurationProperties(prefix = "spring.datasource")
    public DataSource dataSource() {
        return DataSourceBuilder.create().build();
    }
    

如果您只有一个数据库要连接,最方便的方法是将其连接属性添加到 属性 文件中,前缀为 spring.datasource (scroll here to check available options) 并添加 org.postgresql 依赖于 pom.xml (build.grade) 文件,SpringBoot 将完成剩下的工作。