当前位置: 首页 > 知识库问答 >
问题:

用预定义的scrypt文件在Spring中自动生成sql表

呼延源
2023-03-14
@Bean
    public DataSource dataSource() {
        EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();
        return builder
                .setType(EmbeddedDatabaseType.H2)
                .addScript("embeddedDB.sql")
                .build();
    }
CREATE TABLE Users
(
  id                INT(11)      NOT NULL AUTO_INCREMENT,
  username          VARCHAR(50)  NOT NULL,
  email             VARCHAR(255) NOT NULL,
  password          VARCHAR(255) NOT NULL,
  first_name        VARCHAR(50)  NOT NULL,
  last_name         VARCHAR(50)  NOT NULL,
  photo             BLOB,
  registration_date DATE         NOT NULL,
  role              VARCHAR(50)  NOT NULL,
  PRIMARY KEY (id)
);

共有1个答案

魏英勋
2023-03-14

Spring Boot中的属性文件

        datasource.ranking.hibernate.hbm2ddl.method=create

Create将创建新表update将留下表。这些表将基于您的类模型创建,然后在您的配置类中设置实体管理器属性

  @Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory() throws NamingException {
    LocalContainerEntityManagerFactoryBean factoryBean = new LocalContainerEntityManagerFactoryBean();
    factoryBean.setDataSource(dataSource());
    factoryBean.setPackagesToScan(new String[] { "com.package" });
    factoryBean.setJpaVendorAdapter(jpaVendorAdapter());
    factoryBean.setJpaProperties(jpaProperties());
    return factoryBean;

}

private Properties jpaProperties() {
        Properties properties = new Properties();
        properties.put("hibernate.dialect", environment.getRequiredProperty("datasource.ranking.hibernate.dialect"));
    properties.put("hibernate.hbm2ddl.auto", environment.getRequiredProperty("datasource.ranking.hibernate.hbm2ddl.method"));
    properties.put("hibernate.show_sql", environment.getRequiredProperty("datasource.ranking.hibernate.show_sql"));
    properties.put("hibernate.format_sql", environment.getRequiredProperty("datasource.ranking.hibernate.format_sql"));
   /* if(StringUtils.isNotEmpty(environment.getRequiredProperty("datasource.ranking.defaultSchema"))){
        properties.put("hibernate.default_schema", environment.getRequiredProperty("datasource.ranking.defaultSchema"));
    }*/
    return properties;
 类似资料:
  • 我了解过自动生成的GUID和预定义的GUID。例如,我读到过,当使用语言转换(对于多语言安装程序)时,最好使用预定义的语言转换。对于简单的安装者来说,使用这两者都不是问题。 简介: 我的项目有多个安装程序,每个安装程序针对不同的客户,带有一些配置文件和图形的自定义。目前,我们正在使用Visual Studio 2010中的简单Windows安装程序项目。我计划将其迁移到WiX中。 挑战: 因为共享

  • 问题内容: 我想在Eclipse中生成自定义方法,就像我们可以生成toString,getter和沉降器的方式一样(右键单击-> source->)。谁能告诉我这样做涉及什么? 谢谢, 荷兰人 问题答案: 您可以在最近(Eclipse Galileo 3.5)生成动作之后添加自己的动作, 使用主动贡献URI: 具有活动操作定义标识符: 使用有效贡献项目类:(包) 来自贡献插件:org.eclips

  • 是否有方法重写build方法返回SampleClass以避免执行build.build?

  • 问题内容: 我正在尝试制作一个用于创建自定义卡片的应用。我想在自定义背景上添加一些文本(jpg图像)。 最好的方法是什么?在将卡片发送到服务器之前,我需要向用户显示该卡片的预览。 谢谢 问题答案: 使用下面的代码来满足您的要求 您必须在清单文件中使用以下权限。 对于我的设备,访问外部SD卡的路径可能会因其他设备而异。某些设备可能是用于内部SD卡的。在使用此代码之前,只需检查一下即可。 实际上,我为

  • 我们使用filebeat刮取log.json文件并将其推送到elk服务器 我想在日志目录中添加一个op.json自定义json滚动日志文件。这是为了收集有关调用的操作和perf信息的信息。 基本上,我只想使用一个管理滚动文件的类。在类中,将有一个logOp函数来访问java对象,并对其进行序列化,在json输出中添加一些标准日志字段。 -------------------------------

  • 我通过扩展现有控件创建了一个新控件,我希望在JavaFX场景中使用这个新控件。我希望能够使用Scene Builder编辑我的场景,但在将新控件添加到FXML文件后,我在打开Scene Builder时遇到。 例如,下面是我创建的一个类,它扩展了: 将此控件添加到FXML文件后... 为什么Scene Builder找不到我的新控件?我需要做什么才能让它找到并能够使用我的新控件? 如果需要,下面是