我已经在netbeans中创建了一个java应用程序,并且我打算为这个项目创建一个安装程序。
为此,我创建了一个应用程序的jar文件,但我使用mysql数据库localhost。
如何使用Mysql localhost生成Jar文件
有谁能帮帮我吗?Thanks and regards
----------------------------- 编辑 ---------------------------------------
也许不是表达自己的最佳方式,我的意思是数据库是在本地(localhost)创建的。
应用程序与数据库的连接如下所示:
Class.forName("com.mysql.jdbc.Driver");
return driverManager.getConnection("jdbc:mysql://localhost/database","root", "root");
我想为我的应用程序创建一个jar文件,该文件在本地创建了一个数据库。
我将解释一些事情:
-
您不需要将连接URL硬编码到代码中。这就是为什么您要求将数据库创建为本地主机的原因。我建议您不要在代码中硬编码连接URL。而是把它写在一个可编辑的文件中,可以是属性文件,也可以是文本文件。让应用程序读取可编辑文件,并将参数传递给代码。
-
运行在本地机器上的应用程序,数据库将使用Localhost进行连接。但是,从另一台机器远程运行的同一个应用程序,无论是在Internet上还是在本地接入网中,都不会以这种方式连接。这就是为什么我坚持不硬编码连接字符串
-
数据库名称、用户名和密码(包括主机名)将根据应用程序运行的环境而不时更改。因此,如果环境发生变化并且变量不相同,则应用程序将无法连接到数据库。
建议:
用户a属性文件:
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
,应用程序将完成其余的工作。
我希望我给了你一个答案,或者更好的是关于如何处理你的情况的其他想法。