我正在开发一个桌面Java程序,该程序利用SQLite数据库还原一些数据。我现在如何创建数据库和创建表:
Class.forName("org.sqlite.JDBC");
c = DriverManager.getConnection("jdbc:sqlite:mokvoc.db");
stmt = c.createStatement();
String sql = "CREATE TABLE COMPANY " + ...
问题
问题是我只想在程序的整个生命周期中执行一次该语句,尤其是在程序第一次运行时或在安装步骤中执行一次。请告诉我如何执行此操作,是否需要添加新的JFrame或我现在不喜欢这样?
最佳答案
对于部署Java桌面应用程序,最好的选择通常是安装该应用程序。使用Java Web Start。 JWS可在Windows,OS X和* nix上运行。
JWS提供了许多吸引人的功能,包括但不限于启动画面,桌面集成,文件关联,自动更新(包括延迟下载和更新的程序控制),按平台,体系结构或区域设置对本机进行分区和其他资源下载,配置运行时环境(最低J2SE版本,运行时选项,RAM等),使用扩展轻松管理公共资源。
最后一个对于部署DB API本身很有好处。它可能会在许多不同的应用程序中使用。
如扩展安装程序服务所示,最好将数据库填充为上述..
的一部分。它在安装时运行一次,然后在卸载时运行。
扩展安装程序使用ExtensionInstallerService
与JNLP客户端进行通信。它提供以下类型的功能:
访问首选的安装位置,以及有关JNLP客户端的其他信息
JNLP客户端下载屏幕的操作
用已安装的代码更新JNLP客户端的方法