栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用基于Java的配置在服务器模式下设置H2

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用基于Java的配置在服务器模式下设置H2

这是允许您使用基于Java的Spring配置在服务器模式下启动H2数据库的代码:

private static final String H2_JDBC_URL_TEMPLATE = "jdbc:h2:%s/target/db/sample;AUTO_SERVER=TRUE";@Value("classpath:seed-data.sql")private Resource H2_SCHEMA_script;@Value("classpath:test-data.sql")private Resource H2_DATA_script;@Value("classpath:drop-data.sql")private Resource H2_CLEANER_script;@Beanpublic DataSource dataSource(Environment env) throws Exception {        return createH2DataSource();}@Autowired@Beanpublic DataSourceInitializer dataSourceInitializer(final DataSource dataSource) {    final DataSourceInitializer initializer = new DataSourceInitializer();    initializer.setDataSource(dataSource);    initializer.setDatabasePopulator(databasePopulator());    initializer.setDatabaseCleaner(databaseCleaner());    return initializer;}private DatabasePopulator databasePopulator() {    final ResourceDatabasePopulator populator = new ResourceDatabasePopulator();    populator.addscript(H2_SCHEMA_script);    populator.addscript(H2_DATA_script);    return populator;}private DatabasePopulator databaseCleaner() {    final ResourceDatabasePopulator populator = new ResourceDatabasePopulator();    populator.addscript(H2_CLEANER_script);    return populator;}private DataSource createH2DataSource() {    String jdbcUrl = String.format(H2_JDBC_URL_TEMPLATE, System.getProperty("user.dir"));    JdbcDataSource ds = new JdbcDataSource();ds.setURL(jdbcUrl);    ds.setUser("sa");    ds.setPassword("");    return ds;}@Beanpublic PlatformTransactionManager transactionManager(EntityManagerFactory entityManagerFactory) {    JpaTransactionManager transactionManager = new JpaTransactionManager();    transactionManager.setEntityManagerFactory(entityManagerFactory);    return transactionManager;}@Beanpublic LocalContainerEntityManagerFactoryBean entityManagerFactory(Environment env) throws Exception {    HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();    vendorAdapter.setGenerateDdl(Boolean.TRUE);    vendorAdapter.setShowSql(Boolean.TRUE);    LocalContainerEntityManagerFactoryBean factory = new LocalContainerEntityManagerFactoryBean();    factory.setPersistenceUnitName("sample");    factory.setJpaVendorAdapter(vendorAdapter);    factory.setPackagesToScan("com.sample.model");    factory.setDataSource(dataSource(env));    factory.setJpaProperties(jpaProperties());    factory.setLoadTimeWeaver(new InstrumentationLoadTimeWeaver());    return factory;}Properties jpaProperties() {    Properties props = new Properties();    props.put("hibernate.query.substitutions", "true 'Y', false 'N'");    props.put("hibernate.hbm2ddl.auto", "create-drop");    props.put("hibernate.show_sql", "false");    props.put("hibernate.format_sql", "true");    return props;}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/373410.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号