Spring – HSQLDB組み込みデータベースのコンテンツの表示
HSQLDB組み込みデータベースまたはインメモリデータベースを起動するためのSpring@Configuration
の例。
DataSourceConfig.java
package com.example.config.db; import javax.sql.DataSource; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.jdbc.datasource.embedded.EmbeddedDatabase; import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder; import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType; @Configuration public class DataSourceConfig { @Bean public DataSource dataSource(){ //jdbc:hsqldb:mem:testdb EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder(); EmbeddedDatabase db = builder.setType(EmbeddedDatabaseType.HSQL) .addScript("db/hsqldb/db.sql") .build(); return db; } }
Springログを確認すると、「testdb」埋め込みデータベースが作成され、jdbcjdbc:hsqldb:mem:testdb
を介してアクセスできます。
INFO o.s.j.d.e.EmbeddedDatabaseFactory - Creating embedded database 'testdb' DEBUG o.s.jdbc.datasource.DataSourceUtils - Fetching JDBC Connection from DataSource DEBUG o.s.j.d.SimpleDriverDataSource - Creating new JDBC Driver Connection to [jdbc:hsqldb:mem:testdb] INFO o.s.jdbc.datasource.init.ScriptUtils - Executing SQL script from class path resource [db/hsqldb/db.sql]
HSQLDB組み込みデータベースのコンテンツを表示する
同じSpringコンテナでDatabaseManagerSwing
を開始します。
SpringRootConfig.java
package com.example.config; import javax.annotation.PostConstruct; import javax.sql.DataSource; import org.hsqldb.util.DatabaseManagerSwing; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.jdbc.core.JdbcTemplate; import com.example.config.db.DataSourceConfig; @Configuration @Import({DataSourceConfig.class}) @ComponentScan({ "com.example" }) public class SpringRootConfig { @Autowired DataSource dataSource; @Bean public JdbcTemplate getJdbcTemplate(){ return new JdbcTemplate(dataSource); } //default username : sa, password : '' @PostConstruct public void getDbManager(){ DatabaseManagerSwing.main( new String[] { "--url", "jdbc:hsqldb:mem:testdb", "--user", "sa", "--password", ""}); } }
Springコンテナが起動すると、Swing HSQLデータベースマネージャーが表示されます。
Note
コマンドプロンプトまたはターミナルからDatabaseManagerSwing
を起動すると、Swing HSQLデータベースマネージャーにプロンプトが表示されますが、Springによって起動された組み込みデータベースに接続できません。 、両方とも異なるJVMであるため。
java -cp hsqldb-2.3.2.jar org.hsqldb.util.DatabaseManagerSwing