作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在制作一个 swing 应用程序,其中用户输入一个文件 (.html),应用程序解析文件中的数据并将其解释到数据库中。然后是在数据库上运行的一堆查询。 This question告诉我需要在数据库上运行哪种查询。
以下是如何
我的问题如下 -
如何将一个空数据库嵌入到我的项目中,每次用户退出应用程序时该数据库都会被清空?基本上我不希望用户必须单独安装数据库或设置连接之类的东西。
不将 html 文件解析到数据库中而是将其转换为不同的数据结构会是一个更好的主意吗?
由于数据库查询的结果应该只是数字(我实际上不需要人名或票号),所以我觉得不需要花太多精力来处理数据库部分。所以基本上我想创建一个单独的模块(可以这么说), - 从应用程序获取文件 - 将 html 解析到数据库(或不同的数据结构) - 运行适当的查询后提取数字 -将这些数字提供给应用程序。这可行吗?
最佳答案
问题1
您的应用程序中可能会有类似以下类的内容。只需覆盖 startup () 方法并在此处执行干净的逻辑。
public class YourSwingApp extends SingleFrameApplication {
/**
* At startup clean the DB.
*/
@Override
protected void startup() {
show(new YourSwingApp(this));
// issue a set of 'truncate table' or 'delete from table' query here
// you may want to create a Singleton to centralize the DB operation
}
}
问题2
如果每次用户退出应用程序时都丢弃数据,那么您可能根本不需要持久层。只要将数据模型保留在内存中就可以了。如果您想要比数据库更轻但持久的东西,您可能需要使用对象 Serialization .
问题3
术语“模块”让我想到 OSGI 在这里可能有点过分了。只需将项目分离到一个 lib 中并创建一个接口(interface)来实现即可。这样你的GUI就可以使用该界面来获取结果。
关于java - 如何在每次启动应用程序时创建一个新的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21710200/
我是一名优秀的程序员,十分优秀!