使用Mysql localhost生成Jar文件 - Java Netbeans

时间:2014-03-12 11:29:22

标签: java mysql netbeans jar

我在netbeans中创建了一个java应用程序,我打算为该项目创建一个安装程序。

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

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

有人可以帮我吗?

谢谢和问候

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

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

应用程序与数据库的连接是这样完成的:

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

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

我想创建一个我的应用程序的jar文件,该文件在本地创建了一个数据库。

1 个答案:

答案 0 :(得分:1)

我将解释一些事情:

  1. 您无需将Connect URL硬编码到代码中。这就是您要求将数据库创建为localhost的原因。我建议你不要在代码中硬编码Connect URL。而是将其写入可编辑文件中,或者是属性文件,甚至是文本文件。让应用程序读取可编辑文件并将参数传递给代码。

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

  3. 包含主机的数据库名称,用户和密码将随时间而变化,具体取决于运行应用程序的环境。因此,如果环境发生变化且变量不相同,则应用程序将不会连接数据库。

  4. 建议:

    用户属性文件:

    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,应用程序将完成剩下的工作。

    我希望我能就你如何处理你的情况给出答案或更好的其他想法。