Java 在web托管时将web应用程序与mysql数据库连接

Java 在web托管时将web应用程序与mysql数据库连接,java,mysql,spring,jelastic,Java,Mysql,Spring,Jelastic,我正在使用jelastic.com托管带有mysql数据库的spring mvc应用程序。为此,我在应用程序中指定了mysql数据库的用户名和密码。然后我上传了war文件。我的应用程序上传得很好,但无法与数据库连接。因此,请帮助我如何连接?MySQL是一种非常流行的开源数据库,世界各地的开发人员都在使用它。在本说明中,我们将向您展示如何将托管在Jetlastic Cloud中的Java应用程序连接到此DB服务器 请按照下面的分步说明进行操作: 登录你的帐户 使用Tomcat7和MysQL数据库

我正在使用jelastic.com托管带有mysql数据库的spring mvc应用程序。为此,我在应用程序中指定了mysql数据库的用户名和密码。然后我上传了war文件。我的应用程序上传得很好,但无法与数据库连接。因此,请帮助我如何连接?

MySQL是一种非常流行的开源数据库,世界各地的开发人员都在使用它。在本说明中,我们将向您展示如何将托管在Jetlastic Cloud中的Java应用程序连接到此DB服务器

请按照下面的分步说明进行操作:

  • 登录你的帐户
  • 使用Tomcat7MysQL数据库服务器创建一个环境(可在SQL部分中找到)
  • 检查您的电子邮件收件箱-它应该包含来自Jelast平台的消息,其中包含所创建MySQL服务器的管理凭据(访问URL、登录名和密码),例如:
  • 切换回仪表板并单击您的MySQL节点的“在浏览器中打开”按钮。使用上述凭据登录到打开的管理面板并创建新数据库(例如,mysqlconnection
  • 然后,在可扩展环境的节点列表中,单击应用服务器旁边的Config按钮(Tomcat 7
  • 在打开的选项卡中,在主文件夹中创建一个新的mydb.cfg文件,并在其中添加以下MySQL连接字符串:

    host=jdbc:mysql://mysql{node_id}-{your_env_name}.{hoster_domain}/{db_name} 用户名={从Jelastic的电子邮件中获取它} 密码={从Jelastic的电子邮件中获取它} driver=com.mysql.jdbc.driver

  • 其中,{node_id}-MySQL
    服务器的容器id,您要接收对该服务器的访问权。它可以在仪表板上看到(在我们的示例中为277134)

    这样,本说明中使用的mysql环境所需的设置将如下图所示

    注意:要将MySQL数据库连接到项目,您可以在代码(应用程序)中提及所有必需的连接设置。在给定的示例中,我们将所有设置放在该文件中,该文件由应用程序读取

  • 例如,这里您可以看到我们的应用程序的代码,它连接到我们的MySQL节点
  • DbManager.java:

    package connection;
    
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.Properties;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    
    public class DbManager {
    
        private final static String createTable = "CREATE TABLE `example` (id INT, data VARCHAR(100))";
    
        public Connection createConnection() throws IOException, ClassNotFoundException, SQLException {
    
            Connection connection;
    
            Properties prop = new Properties();
            System.out.println("test");
            prop.load(new FileInputStream(System.getProperty("user.home") + "/mydb.cfg"));
            System.out.println("user.home: "+System.getProperty("user.home"));
            String host = prop.getProperty("host").toString();
            String username = prop.getProperty("username").toString();
            String password = prop.getProperty("password").toString();
            String driver = prop.getProperty("driver").toString();
    
            System.out.println("host: " + host + "\username: " + username + "\password: " + password + "\ndriver: " + driver);
    
            Class.forName(driver);
            System.out.println("--------------------------");
            System.out.println("DRIVER: " + driver);
            connection = DriverManager.getConnection(host, username, password);
            System.out.println("CONNECTION: " + connection);
    
            return connection;
        }
    
        public void runSqlStatement() {
            try {
                Statement statement = createConnection().createStatement();
                boolean rs = statement.execute(createTable);
    
            } catch (IOException ex) {
                Logger.getLogger(DbManager.class.getName()).log(Level.SEVERE, null, ex);
            } catch (ClassNotFoundException ex) {
                Logger.getLogger(DbManager.class.getName()).log(Level.SEVERE, null, ex);
            } catch (SQLException ex) {
                ex.printStackTrace();
            }
        }
    }
    
  • 接下来,将项目的.war文件上载到Jelast部署管理器。例如,我们将使用dbconnexample.war文件(单击下载),其中包含适当的jdbc连接器
  • 要将您自己的项目连接到MySQL节点,您需要将jdbc连接器jar文件上载到部署了应用程序的Jelast环境的webapps/{app_context}/WEB-INF/lib文件夹

    单击链接下载包含项目来源的软件包

  • 将上载的WAR文件部署到环境中
  • 现在,您可以单击应用程序服务器旁边的浏览器中的“打开”(Tomcat 7)。您将看到一个新窗口,其中数据库中的createtable“example”按钮打开。点击这个按钮
  • 为了确保一切正常,请单击MySQL节点旁边的“在浏览器中打开”,并在打开的“管理”面板中导航到先前创建的mysqlconnection数据库。您将看到新的示例表出现在其中,这意味着已成功地从部署的Java应用程序访问了DB

  • 您需要提供更多关于您所做工作、配置等的信息,。。。以及出现了什么问题,例如,错误消息出现在我的试用帐户中。我没有买任何域名。首先,我想主机使用免费的网络主机,然后我会买域名。它会导致数据库远程连接出现问题吗?@dream您的问题不是由域引起的-您需要检查连接字符串。它还将有助于发布日志摘录;这里是你指定的建议,我已经尝试过,它工作正常,但。实际上,我已经使用xml文件在bean标记中设置了连接路径、用户名和密码。在这种情况下,我的网站上传非常完美,但与mysql的连接不起作用。甚至在何处以及如何获取与之相关的错误?在Java应用程序中,您可能会有DB连接代码,类似于下面的代码:`String URL=“jdbc:mysql://mysql{node_id}-{your environment name}.{hoster_domain}/{dbname}”;getConnection(URL、用户名、密码);`您可以在上阅读有关将数据库添加到Java应用程序的更多信息,也可以在第页看到一个XML连接到数据库的示例。