The Polypheny JDBC Driver facilitates connections between Java-based applications and Polypheny databases, leveraging the Java Database Connectivity (JDBC) API. Designed for versatility and performance, the Polypheny JDBC Driver is a pivotal component for developers working with Java or other JVM languages to interact with Polypheny’s advanced database systems.
It is an open-source, Type 4 JDBC driver, implemented in pure Java for maximum portability and ease of use. It employs the Prism Protocol for efficient communication with Polypheny databases. In order to use the JDBC driver with your instance of Polypheny, make sure that the Prism Query Interface has been deployed.
Features
-
JVM Language Support: While Java is the primary language associated with JDBC, the Polypheny JDBC Driver is designed to be accessible from any JVM-based language, including Scala, Kotlin, and Groovy, providing a versatile interface for diverse development environments.
-
JDBC 4.3 Compliance: The driver adheres to the JDBC 4.3 standard, ensuring compatibility with a wide range of JDBC features and functions. This compliance facilitates standard database operations, including connection management, query execution, and result set handling.
-
Multimodel Extension: Recognizing the evolving needs of modern applications, the Polypheny JDBC Driver goes beyond traditional relational database interactions. The driver includes a Multimodel Extension, uniquely designed to support Polypheny’s capability to handle multiple data models. This extension allows for a broader range of operations, accommodating various data types and query languages, thus enabling more complex and diverse data interactions than standard JDBC drivers.
Getting Started
The Polypheny JDBC Driver is designed for easy integration with Java-based applications, as well as other JVM languages such as Kotlin or Grovy. The driver requires Java version 8 or higher.
The driver is published to Maven Central, simplifying its inclusion in your project dependencies.
Maven
To use the Polypheny JDBC driver in a Maven project, you need to add the driver as a dependency in your project’s pom.xml
file:
<dependencies>
<dependency>
<groupId>org.polypheny</groupId>
<artifactId>polypheny-jdbc-driver</artifactId>
<version>2.0</version>
</dependency>
</dependencies>
After adding the dependency, you can build your project with Maven, and the Polypheny JDBC driver will be automatically downloaded and included in your project’s classpath.
Gradle
To use the Polypheny JDBC driver in a Gradle project, you need to add the driver as a dependency in your project’s build.gradle
file:
dependencies {
implementation 'org.polypheny:polypheny-jdbc-driver:2.0'
}
After adding the dependency, you can build your project with Gradle, and the Polypheny JDBC driver will be automatically downloaded and included in your project’s classpath.
The JDBC driver including its source code is also available on GitHub. This repository also serves as a hub for community contributions, bug reports, and feature requests, fostering continuous improvement and collaboration within the Polypheny ecosystem.
For more information on how to use the Polypheny JDBC driver from a specific programming language or application, please follow the instructions outlined on the specific documentation page:
Documentation Structure
This documentation is divided into two main parts:
-
Standard JDBC Operations: This section covers the essentials of using the Polypheny JDBC Driver in alignment with the JDBC 4.2 standard. Topics include connection setup, query execution, and result processing, providing a solid foundation for traditional relational database interactions.
-
Multimodel Extension: This section introduces how the driver can be used for other query languages than SQL. It covers the the interaction with non-relational results, the execution of non-SQL queries, and other unique extensions available with Polypheny.
Acknowledgments
The initial version of this JDBC driver has been developed by Tobias Hafner as part of his Bachelor’s thesis at the University of Basel.