11 min to complete
In a previous lesson, we explained how a ScyllaDB Administrator could backup and restore a cluster. As the number of mutants is on the rise, Division 3 decided that we must use more applications to connect to the mutant catalog and decided to hire Java developers to create powerful applications that can monitor the mutants. In this lesson, we will explore how to connect to a ScyllaDB cluster using the driver for Java.
When creating applications that communicate with a database such as ScyllaDB, it is crucial that the programming language being used has support for database connectivity. Since ScyllaDB is compatible with Cassandra, we can use any of the available Cassandra libraries. For example, in Go, there are Gocql and Gocqlx. In Node.js, there is cassandra-driver. For Java, we have this driver available. Since Division 3 wants to invest in Java, let’s begin by writing a sample Java application.
Creating a Sample Java Application
The sample application we will go over will connect to a ScyllaDB cluster, display the contents of the Mutant Catalog table, insert and delete data, and show the table’s contents after each action. We will first go through each section of the code used, and then you’ll be able to run the code in the lab.
In the application, we first need to import the driver for Java:
The Cluster library provides the ability to connect to the cluster. The ResultSet library will allow us to run queries such as SELECT statements and store the output. The Row library will enable us to get the value of a CQL Row returned in a ResultSet. The session library provides the ability to connect to a specific keyspace.
For this application, the main class is called App, and the code is stored in a file called App.java. After the class is defined, we can begin defining which cluster and keyspace to use:
To display the data, we will need to create a function that will run a select statement from the ScyllaDB cluster. The function below will use the ResultSet, Session, and Row libraries to gather the data and print it on the screen:
The next function inserts a new Mutant into the Mutant Catalog table. Since this is a simple query, only the Session library is used. After the insert, the previous function, selectQuery(), is called to display the table’s contents after the new data is added.
After the data is added and displayed in the terminal, we will delete it and then display the contents of the table again:
This is the application’s main method and the starting point for any Java application. In this function, we will add the functions created above to be executed in the order below. When all of the functions are completed, the application will exit.
With the coding part done, let’s set up the ScyllaDB Cluster and run the sample application.
Conclusion
In this lesson, we explained how to create a sample Java application that executes a few basic CQL statements with a ScyllaDB cluster using the Java driver. This is only the basics, and there are more exciting topics that Division 3 wants developers to explore. In one of the next lessons, we will go over prepared statements using the Java driver.
In the meantime, please be safe and continue monitoring the mutants!