sql2o alternatives and similar libraries
Based on the "Database" category.
Alternatively, view sql2o alternatives based on common mentions on social networks and blogs.
-
MapDB
MapDB provides concurrent Maps, Sets and Queues backed by disk storage or off-heap-memory. It is a fast and easy to use embedded Java database engine. -
orientdb
OrientDB is the most versatile DBMS supporting Graph, Document, Reactive, Full-Text and Geospatial models in one Multi-Model product. OrientDB can run distributed (Multi-Master), supports SQL, ACID Transactions, Full-Text indexing and Reactive Queries. -
ObjectBox embedded database
Android Database - first and fast, lightweight on-device vector database -
Crate
CrateDB is a distributed and scalable SQL database for storing and analyzing massive amounts of data in near real-time, even with complex queries. It is PostgreSQL-compatible, and based on Lucene. -
Chronicle Map
Replicate your Key Value Store across your network, with consistency, persistance and performance. -
JDBI
The Jdbi library provides convenient, idiomatic access to relational databases in Java and other JVM technologies such as Kotlin, Clojure or Scala. -
JetBrains Xodus
Transactional schema-less embedded database used by JetBrains YouTrack and JetBrains Hub. -
FlexyPool
FlexyPool adds metrics and failover strategies to a given Connection Pool, allowing it to resize on demand.
InfluxDB - Purpose built for real-time analytics at any scale.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of sql2o or a related project?
Popular Comparisons
README
sql2o
Sql2o is a small java library, with the purpose of making database interaction easy. When fetching data from the database, the ResultSet will automatically be filled into your POJO objects. Kind of like an ORM, but without the SQL generation capabilities. Sql2o requires at Java 7 or 8 to run. Java versions past 8 may work, but is currently not supported.
Examples
Check out the sql2o website for examples.
Performance
A key feature of sql2o is performance. The following metrics were based off the Dapper.NET metrics. Note that typical usage can differ from optimal usage for many frameworks. Depending on the framework, typical usage may not involve writing any SQL, or it may map underscore case to camel case, etc.
Performance of SELECT
Execute 1000 SELECT statements against a DB and map the data returned to a POJO. Code is available here.
Method | Duration |
---|---|
Hand coded ResultSet | 60ms |
Sql2o | 75ms (25% slower) |
Apache DbUtils | 98ms (63% slower) |
JDBI | 197ms (228% slower) |
MyBatis | 293ms (388% slower) |
jOOQ | 447ms (645% slower) |
Hibernate | 494ms (723% slower) |
Spring JdbcTemplate | 636ms (960% slower) |
Contributing
Want to contribute? Awesome! Here's how to set up.
Coding guidelines.
When hacking sql2o, please follow these coding guidelines.
Note on running Oracle specific tests
In order to run the Oracle database tests you will have to add the Oracle Maven repo to your settings.xml as instructed in the Oracle Fusion Middleware Maven Setup guide