Java程序员关于将存储在.txt文件中的预先存在的数据库移植到mySQL的几个问题?

时间:2009-12-05 05:24:45

标签: sql mysql jdbc

我最近一直在编写一个库管理Java应用程序,到目前为止,主库数据库存储在.txt文件中,该文件后来在Java中转换为ArrayList用于创建和编辑数据库并再次将更改保存回.txt文件。确实是一种非常原始的方法因此,稍后听过SQL,我正在考虑将我先前存在的.txt数据库移植到mySQL。因为我完全不知道SQL和特别是mySQL如何工作,除了它可以与Java代码交互的事实。你能建议我访问/购买任何书籍/网站吗?这本书首先使用SQL有帮助吗?特别是在使用Java代码与SQL数据库交互时?应该提到的是,我已经习惯使用第三方API。

2 个答案:

答案 0 :(得分:1)

从30,000英尺处查看:

首先,您需要弄清楚如何使用适当的SQL表和字段来表示文本文件数据。 Here is a good overview不同的SQL数据类型。如果您的数据代表单个库记录,那么您只需要创建1个表。这绝对是最简单的方法,因为转换将能够逐行工作。如果记录包含大量数据重复,最合适的方法是创建多个表,以便数据库不会重复数据。然后,您可以使用ID将这些表链接在一起。

当您决定如何分割数据时,您创建了一个MySQL数据库,并在该数据库中创建表(数据库只是包含多个表的东西)。使用控制台连接到MySQL服务器并创建数据库和表is described in this MySQL tutorial

创建数据库后,您需要编写代码来访问数据库。 The link from OMG Ponies显示了如何以最简单的方式使用JDBC连接到数据库。然后,您使用该连接创建Statement对象,执行查询以插入,更新,选择或删除数据。如果您正在选择数据,则会返回ResultSet并可以查看数据。 Here's a tutorial用于使用JDBC来选择和使用ResultSet中的数据。

您的第一个代码应该是一个Java实用程序,它读取文本文件并将所有数据插入数据库。一旦准备好数据,您就可以更新主程序以从数据库而不是文件中读取。

答案 1 :(得分:0)

知道程序和SQL数据库之间的连接是通过“连接程序”实现的。您在SQL语句中编写指令,比如说

 Select * from Customer order by name;

然后设置为一次检索一条记录的数据。或者在另一个方向,你写

Insert into Customer (name, addr, ...) values (x, y, ...);

并将x,y,...替换为实际值,或者根据接口将它们绑定到连接。

有了这种理解,您应该能够阅读几乎任何书籍或JDBC API描述并开始使用。