diff --git a/persistence-modules/core-java-persistence-2/pom.xml b/persistence-modules/core-java-persistence-2/pom.xml
index 9845d5009d..a1088b0801 100644
--- a/persistence-modules/core-java-persistence-2/pom.xml
+++ b/persistence-modules/core-java-persistence-2/pom.xml
@@ -20,10 +20,43 @@
h2
${h2.version}
+
+ org.postgresql
+ postgresql
+ ${postgresql.version}
+ test
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+
+ com.microsoft.sqlserver
+ mssql-jdbc
+ ${mssql.driver.version}
+
+
1.4.200
+ 42.2.5.jre7
+ 8.4.1.jre11
+ 10.2.0.4.0
+ 8.0.22
-
\ No newline at end of file
+
diff --git a/persistence-modules/core-java-persistence-2/src/test/java/com/baeldung/jdbcurlformat/JdbcUrlFormatLiveTest.java b/persistence-modules/core-java-persistence-2/src/test/java/com/baeldung/jdbcurlformat/JdbcUrlFormatLiveTest.java
new file mode 100644
index 0000000000..fc00119704
--- /dev/null
+++ b/persistence-modules/core-java-persistence-2/src/test/java/com/baeldung/jdbcurlformat/JdbcUrlFormatLiveTest.java
@@ -0,0 +1,86 @@
+package com.baeldung.jdbcurlformat;
+
+import org.junit.Test;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.SQLException;
+
+import static org.junit.Assert.assertNotNull;
+
+public class JdbcUrlFormatLiveTest {
+ @Test
+ public void givenOracleSID_thenCreateConnectionObject() {
+ String oracleJdbcUrl = "jdbc:oracle:thin:@myoracle.db.server:1521:my_sid";
+ String username = "dbUser";
+ String password = "1234567";
+ try (Connection conn = DriverManager.getConnection(oracleJdbcUrl, username, password)) {
+ assertNotNull(conn);
+ } catch (SQLException e) {
+ System.err.format("SQL State: %s\n%s", e.getSQLState(), e.getMessage());
+ }
+ }
+
+ @Test
+ public void givenOracleServiceName_thenCreateConnectionObject() {
+ String oracleJdbcUrl = "jdbc:oracle:thin:@//myoracle.db.server:1521/my_servicename";
+ String username = "dbUser";
+ String password = "1234567";
+ try (Connection conn = DriverManager.getConnection(oracleJdbcUrl, username, password)) {
+ assertNotNull(conn);
+ } catch (SQLException e) {
+ System.err.format("SQL State: %s\n%s", e.getSQLState(), e.getMessage());
+ }
+ }
+
+ @Test
+ public void givenOracleTnsnames_thenCreateConnectionObject() {
+ String oracleJdbcUrl = "jdbc:oracle:thin:@" +
+ "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)" +
+ "(HOST=myoracle.db.server)(PORT=1521))" +
+ "(CONNECT_DATA=(SERVICE_NAME=my_servicename)))";
+ String username = "dbUser";
+ String password = "1234567";
+ try (Connection conn = DriverManager.getConnection(oracleJdbcUrl, username, password)) {
+ assertNotNull(conn);
+ } catch (SQLException e) {
+ System.err.format("SQL State: %s\n%s", e.getSQLState(), e.getMessage());
+ }
+ }
+
+ @Test
+ public void givenMysqlDb_thenCreateConnectionObject() {
+ String jdbcUrl = "jdbc:mysql://mysql.db.server:3306/my_database?useSSL=false&serverTimezone=UTC";
+ String username = "dbUser";
+ String password = "1234567";
+ try (Connection conn = DriverManager.getConnection(jdbcUrl, username, password)) {
+ assertNotNull(conn);
+ } catch (SQLException e) {
+ System.err.format("SQL State: %s\n%s", e.getSQLState(), e.getMessage());
+ }
+ }
+
+ @Test
+ public void givenMssqlDb_thenCreateConnectionObject() {
+ String jdbcUrl = "jdbc:sqlserver://mssql.db.server\\mssql_instance;databaseName=my_database";
+ String username = "dbUser";
+ String password = "1234567";
+ try (Connection conn = DriverManager.getConnection(jdbcUrl, username, password)) {
+ assertNotNull(conn);
+ } catch (SQLException e) {
+ System.err.format("SQL State: %s\n%s", e.getSQLState(), e.getMessage());
+ }
+ }
+
+ @Test
+ public void givenPostgreSqlDb_thenCreateConnectionObject() {
+ String jdbcUrl = "jdbc:postgresql://postgresql.db.server:5430/my_database?ssl=true&loglevel=2";
+ String username = "dbUser";
+ String password = "1234567";
+ try (Connection conn = DriverManager.getConnection(jdbcUrl, username, password)) {
+ assertNotNull(conn);
+ } catch (SQLException e) {
+ System.err.format("SQL State: %s\n%s", e.getSQLState(), e.getMessage());
+ }
+ }
+}