2014-03-12 30 views
0

我在netbeans中创建了一个Java应用程序,并且我打算为该项目创建一个安装程序。生成JAR文件 - 使用Mysql进行Java Netbeans localhost

为此,我创建了应用程序的jar文件,但是我使用mysql数据库localhost。

如何使用Mysql localhost生成Jar文件。

任何人都可以帮助我吗?

感谢和问候

-----------------------------编辑--------- ------------------------------

也许不是表达自我的最佳方式,我的意思是说数据库在本地创建(localhost)。

应用程序与数据库的连接做这样:

Class.forName("com.mysql.jdbc.Driver"); 

return driverManager.getConnection("jdbc:mysql://localhost/database","root", "root"); 

我要创建我的应用程序,它具有本地创建一个数据库的jar文件。

+0

'localhost'与jar和mysql无关。 –

+0

也许不是表达自我的最佳方式,我的意思是数据库是在本地创建的(localhost)。 应用程序与数据库的连接以这种方式完成: Class.forName(“com.mysql.jdbc.Driver”); return driverManager.getConnection(“jdbc:mysql:// localhost/database”,“root”,“root”); 我想创建一个具有本地创建的数据库的应用程序的jar文件。 – user3320956

+0

jar和mysql是两个不同的实体。您应该捆绑jar和检查和安装目标计算机的mysql的流程步骤。 –

回答

1

,我要解释一些事情:

  1. 你不需要硬 - 代码URL连接到您的代码。这就是为什么你要求以localhost方式创建数据库的方法。我建议你不要在代码中硬编码连接URL。而是把它写在一个可编辑的文件中,一个属性文件甚至一个文本文件。让应用程序读取可编辑文件并将参数传递给代码。

  2. 运行在数据库所在本地计算机上的应用程序将使用本地主机进行连接。但是,从另一台计算机远程运行的相同应用程序无论是在Internet还是本地访问网络中都不会以此方式连接。这就是为什么我坚持不对连接字符串进行硬编码的原因。

  3. 包括主机在内的数据库名称,用户和密码将随时间变化,具体取决于运行应用程序的环境。如果环境更改并且变量不相同,则应用程序将不会连接到数据库。

建议:

用户属性文件:

db.host=192.168.1.23 
db.user=root 
db.password=root 
db.dbname=database 

加载该文件为属性文件:

Properties prop = new Properties(); 
    InputStream input = null; 

    try { 

     input = new FileInputStream("config.properties"); 

     // load a properties file 
     prop.load(input); 

     // get the property value and print it out 
     System.out.println(prop.getProperty("db.host")); 
     System.out.println(prop.getProperty("db.user")); 
     System.out.println(prop.getProperty("db.password")); 
      System.out.println(prop.getProperty("db.dbname")); 
     //PASS YOUR CONNECT STRING 
     Class.forName("com.mysql.jdbc.Driver"); 
     Connection conn = DriverManager.getConnection("jdbc:mysql://" + prop.getProperty("db.host") + "/" + prop.getProperty("db.dbname"), prop.getProperty("db.user"), prop.getProperty("db.password")); 

    } catch (IOException ex) { 
     ex.printStackTrace(); 
    } finally { 
     if (input != null) { 
      try { 
       input.close(); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 
     } 
    } 

这样,你将永远不会有担心什么数据库应用程序正在运行,因为您只需编辑config.properties和应用程序就可以了我做剩下的事。

我希望我给你一个答案或更好的还有其他想法如何处理你的情况。

+0

感谢您的回复!!我怎样才能做属性文件,完成剩下的工作? – user3320956

+0

写一个像我上面显示的文本文件并将其保存为.properties。 n用代码载入它,如我所示。 – ErrorNotFoundException