IGNITE-26149 Jdbc. Benchmark added (#6921)

diff --git a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/benchmark/BulkLoadBenchmark.java b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/benchmark/BulkLoadBenchmark.java
index a254a58..539d374 100644
--- a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/benchmark/BulkLoadBenchmark.java
+++ b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/benchmark/BulkLoadBenchmark.java
@@ -21,6 +21,10 @@
 import static org.apache.ignite.internal.lang.IgniteStringFormatter.format;
 import static org.apache.ignite.internal.util.IgniteUtils.closeAll;
 
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
 import java.util.List;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.IntStream;
@@ -73,6 +77,14 @@
     private int batchSize;
 
     /**
+     * Benchmark for SQL insert via JDBC client.
+     */
+    @Benchmark
+    public void jdbcInsert(JdbcState state) throws SQLException {
+        state.upload(count, batchSize);
+    }
+
+    /**
      * Benchmark for SQL insert via thin client.
      */
     @Benchmark
@@ -121,6 +133,54 @@
     }
 
     /**
+     * Benchmark state for {@link #jdbcInsert(JdbcState)}.
+     *
+     * <p>Holds {@link Connection} and {@link PreparedStatement}.
+     */
+    @State(Scope.Benchmark)
+    public static class JdbcState {
+        private Connection connection;
+        private PreparedStatement statement;
+
+        /**
+         * Initializes session and statement.
+         */
+        @Setup
+        public void setUp() throws SQLException {
+            String queryStr = createInsertStatement();
+
+            String clientAddrs = String.join(",", getServerEndpoints(clusterSize));
+
+            String jdbcUrl = "jdbc:ignite:thin://" + clientAddrs;
+
+            connection = DriverManager.getConnection(jdbcUrl);
+
+            connection.setAutoCommit(false);
+
+            statement = connection.prepareStatement(queryStr);
+        }
+
+        /**
+         * Closes resources.
+         */
+        @TearDown
+        public void tearDown() throws Exception {
+            connection.close();
+        }
+
+        void upload(int count, int batch) throws SQLException {
+            for (int i = 0; i < count; i++) {
+                if (i % batch == 0) {
+                    connection.commit();
+                }
+
+                statement.setInt(1, i);
+                statement.executeUpdate();
+            }
+        }
+    }
+
+    /**
      * Benchmark state for {@link #sqlThinInsert(SqlThinState)}.
      *
      * <p>Holds {@link IgniteClient} and {@link Statement}.
diff --git a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/benchmark/InsertBenchmark.java b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/benchmark/InsertBenchmark.java
index b234e05..80cd5fa 100644
--- a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/benchmark/InsertBenchmark.java
+++ b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/benchmark/InsertBenchmark.java
@@ -287,7 +287,7 @@
             String queryStr = createInsertStatement();
 
             //noinspection CallToDriverManagerGetConnection
-            conn = DriverManager.getConnection("jdbc:ignite:thin://127.0.0.1:10800/");
+            conn = DriverManager.getConnection("jdbc:ignite:thin://" + String.join(",", getServerEndpoints(clusterSize)));
 
             stmt = conn.prepareStatement(queryStr);
         }
diff --git a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/benchmark/SelectBenchmark.java b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/benchmark/SelectBenchmark.java
index ff99208..be5dc4a 100644
--- a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/benchmark/SelectBenchmark.java
+++ b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/benchmark/SelectBenchmark.java
@@ -328,7 +328,7 @@
         public void setUp() {
             try {
                 //noinspection CallToDriverManagerGetConnection
-                conn = DriverManager.getConnection("jdbc:ignite:thin://127.0.0.1:10800/");
+                conn = DriverManager.getConnection("jdbc:ignite:thin://" + String.join(",", getServerEndpoints(clusterSize)));
 
                 stmt = conn.prepareStatement(SELECT_ALL_FROM_USERTABLE);
             } catch (SQLException e) {