2013-08-31 80 views
0

您好我正在尝试使用SQLite在Java中创建一个地址簿类型程序。现在,它应该做的就是要求用户输入联系人姓名和电话号码以添加到表格中。Java和数据库 - 初始化表

我还没有开始编码,但我无法得到我的头的东西是表创作。假设我写一个程序

  1. 连接数据库
  2. 创建一个表
  3. 询问有关添加联系人数据(表)的详细信息的用户。

我编译一次没有错误。但是每次运行程序时都会创建一个新表格。我唯一能想到的就是数据库和表的创建是在Java程序之外完成的。

+2

该程序可以简单地1.接到数据库,2.检查表是否存在,3.如果它还不存在,则创建它,4.向用户询问详细信息。 –

+0

好吧,我不知道有一个函数来检查表是否存在。 – jimbo123

回答

0

是的,在java程序之外创建表总是好的。只需在java应用程序中使用这些表。
所以你的设计可能是现在。
1.连接数据库。
2.向用户询问有关添加联系人数据(到表格)的详细信息。

2

在许多企业环境中,您的应用程序的数据库用户可能没有权限执行DDL(CREATE,ALTER等...)语句。因此,在这些情况下,通常会在应用程序之外管理数据库布局。

有一些工具可以尝试简化这项工作。一个非常复杂的例子是Liquibase

但是,如果要在应用程序内部管理数据库,最好的做法是定义一个额外的表,并在其中维护数据库模式版本号。在应用程序启动时,检查此架构版本,然后 - 如果适用 - 执行您的DDL语句以创建或更改架构以获取所需的shema版本。

+0

好的,我没有意识到这一点。我只是用一个文本编辑器编写这个java代码并在终端编译它。 – jimbo123