Transação em lote JDBC
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Faça uma transação em lote usando JDBC.
Mais informações
Para ver a documentação detalhada que inclui este exemplo de código, consulte:
Exemplo de código
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],[],[],[],null,["# JDBC batch transaction\n\nMake a batch transaction by using JDBC.\n\nExplore further\n---------------\n\n\nFor detailed documentation that includes this code sample, see the following:\n\n- [Connect JDBC to a GoogleSQL-dialect database](/spanner/docs/use-oss-jdbc)\n\nCode sample\n-----------\n\n### Java\n\n\nTo learn how to install and use the client library for Spanner, see\n[Spanner client libraries](/spanner/docs/reference/libraries).\n\n\nTo authenticate to Spanner, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n import com.google.common.collect.ImmutableList;\n import java.math.BigDecimal;\n import java.sql.Connection;\n import java.sql.DriverManager;\n import java.sql.PreparedStatement;\n import java.sql.SQLException;\n import java.util.Arrays;\n\n class BatchDmlExample {\n static class Singer {\n final long singerId;\n final String firstName;\n final String lastName;\n final BigDecimal revenues;\n\n Singer(long singerId, String firstName, String lastName, BigDecimal revenues) {\n this.singerId = singerId;\n this.firstName = firstName;\n this.lastName = lastName;\n this.revenues = revenues;\n }\n }\n\n static void batchDml() throws SQLException {\n // TODO(developer): Replace these variables before running the sample.\n String projectId = \"my-project\";\n String instanceId = \"my-instance\";\n String databaseId = \"my-database\";\n batchDml(projectId, instanceId, databaseId);\n }\n\n // This example shows how to execute a batch of DML statements with the JDBC driver.\n static void batchDml(String projectId, String instanceId, String databaseId) throws SQLException {\n String connectionUrl =\n String.format(\n \"jdbc:cloudspanner:/projects/%s/instances/%s/databases/%s\",\n projectId, instanceId, databaseId);\n\n ImmutableList\u003cSinger\u003e singers = ImmutableList.of(\n new Singer(10, \"Marc\", \"Richards\", BigDecimal.valueOf(10000)),\n new Singer(11, \"Amirah\", \"Finney\", BigDecimal.valueOf(195944.10d)),\n new Singer(12, \"Reece\", \"Dunn\", BigDecimal.valueOf(10449.90))\n );\n\n try (Connection connection = DriverManager.getConnection(connectionUrl)) {\n connection.setAutoCommit(false);\n // Use prepared statements for the lowest possible latency when executing the same SQL string\n // multiple times.\n try (PreparedStatement statement = connection.prepareStatement(\n \"INSERT INTO Singers (SingerId, FirstName, LastName, Revenues)\\n\" \n + \"VALUES (?, ?, ?, ?)\")) {\n for (Singer singer : singers) {\n statement.setLong(1, singer.singerId);\n statement.setString(2, singer.firstName);\n statement.setString(3, singer.lastName);\n statement.setBigDecimal(4, singer.revenues);\n // Add the current parameter values to the batch.\n statement.addBatch();\n }\n // Execute the batched statements.\n int[] updateCounts = statement.executeBatch();\n connection.commit();\n System.out.printf(\"Batch insert counts: %s%n\", Arrays.toString(updateCounts));\n }\n }\n }\n }\n\nWhat's next\n-----------\n\n\nTo search and filter code samples for other Google Cloud products, see the\n[Google Cloud sample browser](/docs/samples?product=spanner)."]]