Spring Boot Demo for DataTables Server-Side Processing
A small demo app showing some features of Spring Boot for handling a Thymeleaf template, a JSON request, using Spring JdbcTemplate, with some Java records, lambdas and streams. The demo uses a server-side DataTable for the demo. Not intended for production use.
Source code is available here on GitHub.
The data source is a MySQL table:
The running application serves a DataTable similar to this one from the official documentation.
It runs at http://localhost:8080/demo/listing
The Java record ServerSideRequest
represents the automatically-generated request sent from DataTables to the server upon a change event - e.g when the user performs a sort, search or page change.
The Java record ResponseContainer
contains the response sent back from the server to DataTables for each request.
Most of the work to build the page of data to be displayed is handled by the EmployeeService
class. This implements the required sorting, filtering and pagination logic.
In my simple demo, I always fetch all rows from the source relational table, and then perform all processing in Java. In a more realistic production scenario, I would not do this, for obvious reasons - but for this demo, it’s not a problem.
Collation and normalization rules are used allow words with diacritics to be searched and sorted alongside words without diacritics. For example, Édouard
is sorted alongside Edward
; and a search for ed
or éd
will find both of these names.
See also Another Spring Boot Demo for DataTables Server-Side Processing, which is a similar approach - but which focuses on only selecting one page of DataTable results from the database.
Author northCoder
LastMod 28-Jul-2022