https://github.com/exasol/exasol-java-tutorial
Learn how to extend Exasol with Java
https://github.com/exasol/exasol-java-tutorial
exasol exasol-integration java tutorial
Last synced: 10 months ago
JSON representation
Learn how to extend Exasol with Java
- Host: GitHub
- URL: https://github.com/exasol/exasol-java-tutorial
- Owner: exasol
- License: mit
- Created: 2021-10-20T07:15:54.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-02-26T14:55:56.000Z (11 months ago)
- Last Synced: 2025-03-24T11:38:19.801Z (10 months ago)
- Topics: exasol, exasol-integration, java, tutorial
- Language: Java
- Homepage:
- Size: 587 KB
- Stars: 2
- Watchers: 7
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Exasol Java tutorial
[](https://github.com/exasol/exasol-java-tutorial/actions/workflows/ci-build.yml)
[](https://sonarcloud.io/dashboard?id=com.exasol%3Aexasol-java-tutorial)
[](https://sonarcloud.io/dashboard?id=com.exasol%3Aexasol-java-tutorial)
[](https://sonarcloud.io/dashboard?id=com.exasol%3Aexasol-java-tutorial)
[](https://sonarcloud.io/dashboard?id=com.exasol%3Aexasol-java-tutorial)
[](https://sonarcloud.io/dashboard?id=com.exasol%3Aexasol-java-tutorial)
[](https://sonarcloud.io/dashboard?id=com.exasol%3Aexasol-java-tutorial)
[](https://sonarcloud.io/dashboard?id=com.exasol%3Aexasol-java-tutorial)
[](https://sonarcloud.io/dashboard?id=com.exasol%3Aexasol-java-tutorial)
[](https://sonarcloud.io/dashboard?id=com.exasol%3Aexasol-java-tutorial)
If you are a Java developer and you are thinking about extending Exasol with new functionality, this tutorial takes you on a tour around Exasol's interfaces and the libraries we provide.
Not only do you learn how to implement [User Defined Functions (UDF)](https://docs.exasol.com/database_concepts/udf_scripts.htm) in Java, but you also will see how to run automated integration tests.
Topics we are touching in the tutorials:
* Scalar Script UDF (a script with a single input)
* Java code inlined into SQL code
* Java UDFs provided as JAR archives
* Exasol Scripting API for Java
* How to get an Exasol instance you can test against in automated tests
* How to set up tests and prepare test data
* How to check the results from SQL queries in a compact and readable way
## Tutorials
### Hello World!
Start your journey with the obligatory [hello world](hello-world-tutorial/doc/hello_world.md) tutorial to learn the basics of defining an inline Java extension that can be called from SQL.
## Markdown Statistics as User Defined Function
Up your game with a full-blown automated integration test that exercises a more complex Java extension that gets [statistics from Markdown](markdown-statistics-tutorial/doc/mdstats.md) text stored in an Exasol table. Learn to package the installation in a JAR archive in the course of this tutorial.
## TLS Tutorial
Setting up TLS is all but trivial in some scenarios, so a series of articles and some software examples guide you through the process.
1. [Introduction to TLS](tls-tutorial/doc/tls_introduction.md)
2. [TLS with Exasol (theoretical part)](tls-tutorial/doc/tls_with_exasol.md)
3. [Using Your Own Certificates](tls-tutorial/doc/use_your_own_certificate.md) to run `IMPORT` from MySQL into Exasol
4. [TLS in User Defined Functions (UDFs)](tls-tutorial/doc/tls_in_udfs.md)
## Java Testing Tutorial
* [Introduction](testing-tutorial/doc/introduction.md)
* [Tests are an Executable Specification](testing-tutorial/doc/test_are_an_executable_specification.md)
* [Automatic Testing](testing-tutorial/doc/automatic_testing.md)
* [Test Driven Design and Behavior Driven Design](testing-tutorial/doc/tdd/tdd_and_bdd.md)
* [Multiple Asserts in one Test Case](testing-tutorial/doc/multiple_asserts_in_one_test_case.md)
* [Dealing with Randomness](testing-tutorial/doc/dealing_with_randomness.md)
## Additional Information
* [Changelog](doc/changes/changelog.md)
* [Dependencies](dependencies.md)