如何在GitHub(Java)上隐藏MySQL连接字符串-用户名和密码

如何在GitHub(Java)上隐藏MySQL连接字符串-用户名和密码,java,mysql,amazon-web-services,github,Java,Mysql,Amazon Web Services,Github,我一直在试图找到一个解决目前困境的办法。因此,我正在做一个小项目,创建一个简单的POS系统,我使用Oracle MySQL数据库存储用户密码、商品名称、价格等信息。我使用Amazon AWS作为主机。当我在代码中连接到它时,我使用 Connection conn=DriverManager.getConnection("amazon host url","some username","somepassword"); 一些用户名、密码和amazon主机url是我代码中的真实值,我使用它们的原因

我一直在试图找到一个解决目前困境的办法。因此,我正在做一个小项目,创建一个简单的POS系统,我使用Oracle MySQL数据库存储用户密码、商品名称、价格等信息。我使用Amazon AWS作为主机。当我在代码中连接到它时,我使用

Connection conn=DriverManager.getConnection("amazon host url","some username","somepassword");
一些用户名、密码和amazon主机url是我代码中的真实值,我使用它们的原因很明显


现在,如果我将我的代码上传到github,那么我的MySQL连接将成为公共连接,人们可以连接到它。如何隐藏此信息,但仍将代码上载到github?我一直在网上寻找,但我只能看到关于PHP的解决方案,如果有人能帮我解决这个问题那就太好了。

属性文件

它可用于根据属性键获取属性值。Properties类提供了从属性文件获取数据并将数据存储到属性文件中的方法。此外,它还可以用来获得系统的性质

属性文件的优势

如果从属性文件更改了信息,则不需要重新编译:如果从属性文件更改了任何信息,则不需要重新编译java类。它用于存储经常更改的信息

要从属性文件中获取信息,请将属性文件名创建为
.dbconfig.properties

 #DB Properties
 db.driver="driverclassname"
 db.url=jdbc:mysql://localhost:3306/YOURDBNAME
 db.username=USERNAME
 db.password=PASSWORD
.gitinore
一个文件将忽略您的
dbconfig.properties
,同时将其推送到公共存储库以获取有关
gitinore
ref:

.gitignore文件

 /resources/dbconfig.propreties/
从java文件中的属性文件读取数据的java类

 private ResourceBundle reader = null;
 try{ 
     reader = ResourceBundle.getBundle("dbconfig.properties");
     Connection conn=DriverManager.getConnection(reader.getString("db.url"),reader.getString("db.username"),reader.getString("db.password"));
 }catch(Exception e){
}

创建属性文件并在其中添加您的
用户名、密码、dburl
,然后将属性文件添加到
.gitignore
属性文件是什么意思?那么,我应该将用户名、密码和dburl添加到文本文件中吗?然后在我的代码中,通过读取文件中的行来获取它?耶!你是对的,但这不是文本文件“属性”,FILEOP很乐意得到这个解决方案,但是,你没有添加任何解释,比如他为什么要使用,属性是什么,他如何可以重复使用等等。简单地将代码共享给OP可能对OP有效,也可能对OP无效。@KalaiselvanA你再次没有理解我的意思。不管怎样,还是别管它。@KalaiselvanA所以我正试图使用您的解决方案,但每当我将项目上载到github时,dbconfig.properties文件仍会上载到github。我不知道为什么。@KevinLin你能分享你的
.gitignore
file@KevinLin它应该在您的根文件夹中,参考: