<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/i-compared-jdbi-mybatis-and-jooq-in-a-512-mib-javalin-app-two-runs-each-no-swap-mybatis-used-th-hwddxn6zr" -->

---
title: I compared Jdbi, MyBatis, and jOOQ in a 512 MiB Javalin...
description: MyBatis Core, Jdbi Core and jOOQ OSE were each run twice against the same Javalin app on a 512 MiB VM with swap disabled. MyBatis had the lowest median...
canonical: https://daily.dev/posts/i-compared-jdbi-mybatis-and-jooq-in-a-512-mib-javalin-app-two-runs-each-no-swap-mybatis-used-th-hwddxn6zr
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: I compared Jdbi, MyBatis, and jOOQ in a 512 MiB Javalin app. Two runs each, no swap. MyBatis used the least memory, while Jdbi remained competitive on latency.  #java | daily.dev
og:description: MyBatis Core, Jdbi Core and jOOQ OSE were each run twice against the same Javalin app on a 512 MiB VM with swap disabled. MyBatis had the lowest median...
og:url: https://daily.dev/posts/i-compared-jdbi-mybatis-and-jooq-in-a-512-mib-javalin-app-two-runs-each-no-swap-mybatis-used-th-hwddxn6zr
og:image: https://api.daily.dev/og/posts/HwdDxn6zr.png
og:image:alt: I compared Jdbi, MyBatis, and jOOQ in a 512 MiB Javalin app. Two runs each, no swap. MyBatis used the least memory, while Jdbi remained competitive on latency.  #java
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# I compared Jdbi, MyBatis, and jOOQ in a 512 MiB Javalin app. Two runs each, no swap. MyBatis used the least memory, while Jdbi remained competitive on latency.  #java

**[Java Experiments](https://daily.dev/sources/javaexperiments)** · [@ejboy](https://daily.dev/ejboy) · 0 upvotes · 0 comments

## Summary

MyBatis Core, Jdbi Core and jOOQ OSE were each run twice against the same Javalin app on a 512 MiB VM with swap disabled. MyBatis had the lowest median workload RSS in both rounds, around 116.6 to 118.0 MiB, while jOOQ ran 34 to 38 MiB higher. Jdbi and MyBatis had overlapping HTTP p95 ranges (7.38 to 8.48 ms vs 7.47 to 7.52 ms), while jOOQ's p95 was 9.19 to 9.35 ms. All six runs completed 1,500 requests with no errors, OOM events or swapping. The author picked MyBatis for this app based on its lower memory use and a preference for its mapper-oriented model.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://pvrlabs.xyz/java-performance/experiments/mybatis-jooq-jdbi-512mb.html>

## Similar posts on daily.dev

- [A Smaller, Faster Java Server with a Spring-Style API](https://daily.dev/posts/a-smaller-faster-java-server-with-a-spring-style-api-hgpirdk2i) · Foojay.io · 34 upvotes · 1 comments
- [Quarkus has great performance – and we have new evidence](https://daily.dev/posts/quarkus-has-great-performance-and-we-have-new-evidence-hovnrhjip) · Quarkus · 17 upvotes · 1 comments
- [GraalVM: Fast Java, Fine Print](https://daily.dev/posts/graalvm-fast-java-fine-print-fgozwvxtr) · Medium · 11 upvotes · 0 comments
- [Java Weekly, Issue 635](https://daily.dev/posts/java-weekly-issue-635-69kj2fura) · Baeldung · 1 upvotes · 0 comments

---

Tags: [#performance](https://daily.dev/tags/performance)

[View this post on daily.dev](https://daily.dev/posts/i-compared-jdbi-mybatis-and-jooq-in-a-512-mib-javalin-app-two-runs-each-no-swap-mybatis-used-th-hwddxn6zr)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"DiscussionForumPosting","mainEntityOfPage":"https://daily.dev/posts/i-compared-jdbi-mybatis-and-jooq-in-a-512-mib-javalin-app-two-runs-each-no-swap-mybatis-used-th-hwddxn6zr","headline":"I compared Jdbi, MyBatis, and jOOQ in a 512 MiB Javalin app. Two runs each, no swap. MyBatis used the least memory, while Jdbi remained competitive on latency.  #java","text":"Shared: Jdbi, MyBatis and jOOQ with Javalin on a 512 MiB VM","url":"https://daily.dev/posts/i-compared-jdbi-mybatis-and-jooq-in-a-512-mib-javalin-app-two-runs-each-no-swap-mybatis-used-th-hwddxn6zr","datePublished":"2026-10-21T17:53:07.998Z","dateModified":"2026-10-21T17:53:08.001Z","author":{"@type":"Person","name":"Ted K","url":"https://daily.dev/ejboy","image":"https://media.daily.dev/image/upload/s--PzSRqJKu--/f_auto/v1787843390/avatars/avatar_Szw3t3q8eJYj5aTperuyF?_a=BAMAMicg0","description":"Building lightweight developer tools at PVR Labs.","interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"EndorseAction"},"userInteractionCount":1540}},"image":"https://media.daily.dev/image/upload/s--0_ODbtD2--/f_auto/v1722860399/public/Placeholder%2008","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"sharedContent":{"@type":"WebPage","url":"https://api.daily.dev/r/5woLT6jj9"},"isPartOf":{"@type":"WebPage","url":"https://daily.dev/squads/javaexperiments","name":"Java Experiments"}}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Java Experiments","item":"https://daily.dev/squads/javaexperiments"},{"@type":"ListItem","position":3,"name":"I compared Jdbi, MyBatis, and jOOQ in a 512 MiB Javalin app. Two runs each, no swap. MyBatis used the least memory, while Jdbi remained competitive on latency.  #java"}]}
```

