接到了我人生中第一个测试任务的工作,我需要做一个Rest的服务。其中一个要求是:“应用程序应使用 maven 构建,而无需安装或配置任何其他组件;”在此之前,我编写了我的企业应用程序,但我通过 pgAdmin 手动创建了数据库本身,并使用源代码运行了一个 sql 脚本来创建如下表:
如果存在建筑物级联,则删除表;
现在,据我所知,我的应用程序启动了,我的代码必须以某种方式动态创建数据库,或者可能需要其他东西,例如远程数据库。我不确定,因为,同样,我以前从未做过测试任务。请告诉我谁比年轻的同事更有经验)
Hibernate希望数据库在运行时检查<code>应用程序时出现。属性/应用。yml</code>文件。
> < li>
如果数据库需要由您的应用程序创建,您可能需要检查Flyway。
如果数据库已经存在,但您的应用程序需要处理表的生成,那么您应该对您的实体进行建模,因为 Hibernate 将为您创建它。请参阅下面的示例。
#application.yml
datasource:
url: jdbc:postgresql://localhost:5432/mydb
username: test
password: test
jpa:
hibernate:
ddl-auto: create-drop
properties:
hibernate:
dialect: org.hibernate.dialect.PostgreSQLDialect
format_sql: true
show-sql: true
然后在你的实体中:
@Entity(name = "Employee")
@Table(name = "employee")
public class Employee {
@Id
@Column(name = "id", updatable = false, nullable = false)
private Long id;
@Column(name = "first_name", nullable = false, columnDefinition = "TEXT")
private String firstName;
}
当您运行应用程序时,它应该生成名为employee的数据库表。请注意< code>ddl-auto值。
参考文献:
如果要从 Java 执行此操作,请使用 JDBC 连接到 Postgres 服务器上的现有数据库。每个 Postgres 集群都会自动创建一个默认数据库,从而解决了先有鸡还是先有蛋的困境。
在JDBC的SQL语句中,使用具有足够权限的登录名创建数据库。然后为使用CREATEDATABASE
命令的SQL命令编写文本。
您还应该注意在Postgres服务器上创建其他用户帐户,这些用户比超级用户有更多的限制。相应地为新创建的数据库分配角色。
您可以看到这个< code>CREATE DATABASE思想在这个问题上的应用,Postgresql - Create Database
此外,我建议您考虑使用模式迁移工具,例如Flyway或Liquibase。但是,我记得使用这两种工具都必须首先创建数据库。然后,这些工具可以完成其余的工作,创建表和列、索引、约束等。
问题内容: 我正在使用Hibernate租约,并且每次用户登录时,我都将数据库更改为其用户名(SQLite)。可悲的是,有时数据库不存在,我需要创建它。 问题是我不知道如何在运行时在数据库中创建所有表。 通常,Hibernete为此创建数据库: 问题答案: 创建数据库之后,可以为此使用SchemaExport导出要在新创建的数据库中创建的实体。基本步骤如下。如何获取配置的属性并不重要。 Javad
问题内容: 是否可以从结构动态创建mysql数据库。 好像卡在了密码提示符下 问题答案: 试试吧
问题内容: 我有定期被推送到数据库中的Java代码(很难解释为什么它存在于数据库中,而这只会使焦点从主要问题上移开)。 在运行时,我查询数据库。我可以执行从数据库中获得的代码吗?我只在代码中存储main方法的内容。运行数据库的服务器是HTTP服务器。 数据库中的示例代码(仅供参考): 预期产量: 问题答案: 任何Java程序都是正确的Groovy程序。因此,您可以将Groovy依赖项添加到项目中,
问题内容: 我正在使用Docker,并且拥有PHP,MySQL,Apache和Redis的堆栈。我现在需要添加MongoDB,因此我正在检查Dockerfile中的最新版本以及MongoDB Dockerhub中 的docker- entrypoint.sh 文件,但是我找不到设置默认数据库,管理员用户/密码以及可能进行身份验证的方法文件中容器的方法。 在MySQL中,您可以设置一些ENV变量,例
我直接下载了C:\中的derby,并设置了DERBY_INSTALL和CLASSPATH变量: 因此它显示ij>,并且我能够使用命令行SQL语句创建数据库。但我必须使用Java代码创建数据库及其表。所以我在下面的源代码,但我不知道在哪里粘贴它和如何运行它。当我将它粘贴到db-derby-10.9.1.0-bin>bin文件夹中,并尝试使用'java MainClass komaldb c:\'在该
问题内容: 我想从我的Java源代码创建流程图或序列图。 是否有任何插件可以帮助我做到这一点? 问题答案: 这个帖子是为流程图准备的吗?您是说序列图还是类图eUML是创建类图或序列图的好工具您可以在http://www.soyatec.com/main.php上找到它