啓動embed H2數據庫的web console

Spring實戰中的連接數據庫代碼

@Configuration
public class DataConfig {

  @Bean
  public DataSource dataSource() {
    return new EmbeddedDatabaseBuilder()
            .setType(EmbeddedDatabaseType.H2)
            .addScript("schema.sql")
            .build();
  }
  
  @Bean
  public JdbcOperations jdbcTemplate(DataSource dataSource) {
    return new JdbcTemplate(dataSource);
  }

}

想通過web console訪問這個H2數據庫

1、
public class SpitterWebInitializer extends AbstractAnnotationConfigDispatcherServletInitializer中添加:

  public void onStartup(ServletContext servletContext)
          throws ServletException {
    super.onStartup(servletContext);
    ServletRegistration.Dynamic servlet = servletContext
            .addServlet("h2-console", new WebServlet());
    servlet.setLoadOnStartup(2);
    servlet.addMapping("/console/*");
  }

2、打開http://localhost:8080/console訪問jdbc:h2:mem:testdb

奇怪的是,直接通過idea的數據庫工具連接數據庫URL無法連上正確的數據庫

參考:
https://sanaulla.info/2017/11/19/configure-embedded-h2-console-with-spring-mvc-application/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章