JDBC query
Stay organized with collections
Save and categorize content based on your preferences.
Run a query by using JDBC.
Explore further
For detailed documentation that includes this code sample, see the following:
Code sample
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License
, and code samples are licensed under the Apache 2.0 License
. For details, see the Google Developers Site Policies
. Java is a registered trademark of Oracle and/or its affiliates.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],[],[],[],null,["# JDBC query\n\nRun a query 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 java.sql.Connection;\n import java.sql.DriverManager;\n import java.sql.ResultSet;\n import java.sql.SQLException;\n import java.sql.Statement;\n\n public class SingleUseReadOnlyExample {\n\n static void singleUseReadOnly() 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 singleUseReadOnly(projectId, instanceId, databaseId);\n }\n\n static void singleUseReadOnly(String projectId, String instanceId, String databaseId)\n throws SQLException {\n String connectionUrl =\n String.format(\n \"jdbc:cloudspanner:/projects/%s/instances/%s/databases/%s\",\n projectId, instanceId, databaseId);\n try (Connection connection = DriverManager.getConnection(connectionUrl);\n Statement statement = connection.createStatement()) {\n // When the connection is in autocommit mode, any query that is executed will automatically\n // be executed using a single-use read-only transaction, even if the connection itself is in\n // read/write mode.\n try (ResultSet rs =\n statement.executeQuery(\n \"SELECT SingerId, FirstName, LastName, Revenues FROM Singers ORDER BY LastName\")) {\n while (rs.next()) {\n System.out.printf(\n \"%d %s %s %s%n\",\n rs.getLong(1), rs.getString(2), rs.getString(3), rs.getBigDecimal(4));\n }\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)."]]