# Java SDK

The SurrealDB SDK for Java enables simple and advanced querying of a remote or embedded database.

The SurrealDB SDK for Java lets you connect to [SurrealDB](/docs) from any Java application. It supports connecting to remote instances over WebSocket or HTTP, and running embedded databases in-process. The SDK provides methods for querying with [SurrealQL](/docs/reference/query-language.md), managing data, [authentication](/docs/learn/security/authentication/authentication.md), live queries, and transactions. It uses JNI to call native Rust code for high performance.

> [!NOTE]
> The latest version of the SDK is `2.1.2`.
> The SDK works with SurrealDB versions `v2.0.0` and later, including the current release, `v3.2.4`.

## Getting started

- [Installation](/docs/reference/java/installation.md) - Install the SDK and add it to your project.

- [Getting started guide](/docs/languages/java.md) - Connect to SurrealDB and run your first queries.

## Learn

- [Concepts](/docs/reference/java/concepts/connecting-to-surrealdb.md) - Guides for connecting, authenticating, querying, and working with data.

- [API Reference](/docs/reference/java/api/core/surreal.md) - Complete reference for the SDK's methods, types, and errors.

## Contributing

To contribute to the SDK code, submit an Issue or Pull Request in the [surrealdb.java](https://github.com/surrealdb/surrealdb.java) repository. To contribute to this documentation, submit an Issue or Pull Request in the [docs.surrealdb.com](https://github.com/surrealdb/docs.surrealdb.com) repository.

## Sources

- [GitHub repository](https://github.com/surrealdb/surrealdb.java)
- [JavaDoc](https://surrealdb.github.io/surrealdb.java/javadoc/)
- [Maven package](https://mvnrepository.com/artifact/com.surrealdb/surrealdb)
