MySQL 是一个非常流行的开源数据库,被世界各地的开发人员使用。在本说明中,我们将向您展示如何将托管在 Jelastic Cloud 中的 Java 应用程序连接到此数据库服务器。
请按照以下分步说明进行操作:
- 登录您的 Jelastic 帐户。
- 使用 Tomcat7 和 MySQL 数据库服务器(可在 SQL 部分中找到)创建环境。
- 检查您的电子邮件收件箱 - 它应该包含来自 Jelastic 平台的消息,其中包含创建的 MySQL 服务器的管理凭据(访问 URL、登录名和密码),例如:
- 切换回 dashboard 并单击您的 MySQL 节点的在浏览器中打开按钮。使用上述凭据登录到打开的管理面板并创建一个新数据库(例如,mysqlconnection)。
- 然后,在可扩展环境的节点列表中单击应用程序服务器(在我们的例子中为 Tomcat 7)旁边的 Config 按钮。
-
在打开的选项卡中,在主文件夹中创建一个新的 mydb.cfg 文件,并在其中添加以下 MySQL 连接字符串:
host=jdbc:mysql://mysql{node_id}-{your_env_name}.{hoster_domain}/{db_name}
用户名={从 Jelastic 的电子邮件中获取}
密码={从 Jelastic 的电子邮件中获取}
driver=com.mysql.jdbc.Driver
where {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 文件上传到 Jelastic Deployment Manager。例如,我们将使用 dbconnexample.war 文件(点击下载),其中包含适当的 jdbc-connector。
要将自己的项目连接到 MySQL 节点,需要将 jdbc-connector jar 文件上传到 webapps/{app_context}/WEB-部署应用程序的 Jelastic 环境的 INF/lib 文件夹。
点击dbconnexample链接下载我们项目的源码包。
- 将上传的 WAR 文件部署到环境中。
- 现在您可以单击应用服务器旁边的“在浏览器中打开”(在我们的示例中为 Tomcat 7)。您将看到一个新窗口,其中打开了在数据库中创建表“示例”按钮。点击此按钮。
- 为了确保一切正常,请单击 MySQL 节点旁边的在浏览器中打开,然后在打开的管理面板中导航到先前创建的 mysqlconnection 数据库。您会看到其中出现了新的示例表,这意味着 DB 已成功从已部署的 Java 应用程序中访问。