title: findbugs and database password security issue
body: <p>I'm using the following code to initialize database connection:</p>
  
  <pre><code>
   public Connection getConnection() {
          try {
              if (null == connection) {
                  String driverName = "com.mysql.jdbc.Driver"; // MySQL MM JDBC driver
                  Class.forName(driverName);
  
                  // Create a connection to the database
                  String serverName = "localhost";
                  String database = "database";
                  String url = "jdbc:mysql://" + serverName + "/" + mydatabase; // a JDBC url
                  String username = "username";
                  String password = "password";
                  connection = DriverManager.getConnection(url, username, password);
              }
              return connection;
          } catch (ClassNotFoundException cnfe) {
              cnfe.printStackTrace();
          } catch (SQLException sqle) {
              sqle.printStackTrace();
          }
          throw new NullPointerException("Cannot establish database connection...");
      }
  </code></pre>
  
  <p>and I know it's bad practice to do it, also I ran <code>FindBugs</code> against the code, and got the security issue saying the following:
  <code>This code creates a database connect using a hardcoded, constant password. Anyone with access to either the source code or the compiled code can easily learn the password.</code></p>
  
  <p>What's the best way to initialize database connection without having this security breach?</p>