spring: 使用嵌入式數據源 EmbeddedDatabaseBuilder


嵌入式數據源作為應用的一部分運行,非常適合在開發和測試環境中使用,但是不適合用於生產環境。因為在使用嵌入式數據源的情況下,你可以在每次應用啟動或者每次運行單元測試之前初始化測試數據。

使用Spring的jdbc名字空間配置嵌入式數據源非常簡單,下列代碼顯示了如何使用jdbc名字空間配置嵌入式的H2數據庫,並配置需要初始化的數據。

<jdbc:embedded-database id="dataSource" type="H2">
    <jdbc:script location="classpath*:schema.sql" />
    <jdbc:script location="classpath*:test-data.sql" />
</jdbc:embedded-database>

  

<jdbc:embedded-database>type屬性設置為H2表明嵌入式數據庫的類型是H2數據庫(確保引入了H2的依賴庫)。在<jdbc:embedded-database>配置中,可以配置多個<jdbc:script>元素,用於設置和初始化數據庫:在這個例子中,schema.sql文件中包含用於創建數據表的關系;test-data.sql文件中用於插入測試數據。

如果你使用JavaConfig,則可以使用EmbeddedDatabaseBuilder構建嵌入式數據源:

@Bean
public DataSource dataSource() {
    return new EmbeddedDatabaseBuilder()
            .setType(EmbeddedDatabaseType.H2)
            .addScript("classpath*:schema.sql")
            .addScript("classpath*:test-data.sql")
            .build();
}

  可以看出,setType()方法的作用等同於<jdbc:embedded-database>元素的type屬性,addScript()方法的作用等同於<jdbc:script>元素。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM