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