A lightweight Java ORM and SQL query builder with a fluent API for QB, QB.X, and QrB operations.
sqli is a lightweight Java ORM and SQL query builder that provides a fluent API for constructing database queries. It solves the problem of verbose and complex SQL handling in Java by offering intuitive chainable methods for conditions, joins, and updates, while integrating smoothly with Spring Boot.
Java developers building applications with Spring Boot who need a simple, performant alternative to heavy ORMs like Hibernate for database interactions.
Developers choose sqli for its minimal learning curve, efficient query optimization, and dual API design that supports both object and map results, all without the overhead of traditional ORMs.
orm sql query builder, API: QB, QB.X, QrB
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses chainable methods like eq(), gt(), and in() for intuitive SQL condition construction, as demonstrated in the QueryBuilder API examples for both object and map results.
Offers QB for object-based results and QB.X for map-based results with join support, providing flexibility for different data handling needs, such as custom selects and complex joins.
Includes automatic join removal to improve SQL performance and Redis-based L2 caching for high-speed reads on queries with 20 or fewer records, enhancing efficiency in read-heavy scenarios.
Seamlessly integrates with Spring Boot via @EnableX7Repository and dependencies, simplifying setup and reducing boilerplate code in Spring-based applications.
The README explicitly states that UNION queries are not supported due to complexity, limiting advanced SQL operations and data aggregation features.
Secondary caching is only effective for queries returning 20 records or fewer, and map-based API calls (like findX) do not support caching at all, which can hinder performance for larger datasets.
Requires Spring Boot and JdbcTemplate for integration, making it less suitable for non-Spring Java applications or teams preferring lighter or alternative frameworks.