Skip to content
Development
Skill

/511-frameworks-micronaut-jdbc

Use when you need programmatic JDBC in Micronaut — pooled DataSource, parameterized SQL, io.micronaut.transaction.annotation.Transactional, batching, and domain exception translation. This should trigger for requests such as Review JDBC or SQL data access in a Micronaut project;

From plugin
plinth
457124 skills

Claude Code

$ npx -y skills add jabrena/plinth --skill 511-frameworks-micronaut-jdbc --agent claude-code

SKILL.md

511-frameworks-micronaut-jdbc.SKILL.md
name: 511-frameworks-micronaut-jdbc
description: Use when you need programmatic JDBC in Micronaut — pooled DataSource, parameterized SQL, io.micronaut.transaction.annotation.Transactional, batching, and domain exception translation. This should trigger for requests such as Review JDBC or SQL data access in a Micronaut project; Improve transactions and parameter binding for Micronaut JDBC; Translate SQLException to domain exceptions or stream large result sets; Fix self-invocation bypassing @Transactional in Micronaut; Review Hikari or pooled datasource usage in Micronaut JDBC. Part of Plinth Toolkit
license: Apache-2.0
metadata:
  author: Juan Antonio Breña Moral
  version: 0.19.0

Micronaut JDBC — programmatic SQL

Apply programmatic JDBC patterns in Micronaut with safe SQL and clear transactions.

**What is covered in this Skill?**

  • Injected javax.sql.DataSource (Hikari-backed with micronaut-jdbc-hikari) and try-with-resources for Connection / PreparedStatement
  • PreparedStatement with bind parameters — never string concatenation
  • Mapping ResultSet rows to Java records (dedicated mapRow method)
  • Safe single-row queries with Optional<T>; never assume rs.next() succeeds
  • SQLException translation to domain exceptions (catch-translate-rethrow)
  • Streaming large result sets with setFetchSize to avoid OOM
  • Batch updates with addBatch / executeBatch for bulk inserts
  • @Transactional service boundaries and TransactionDefinition.Propagation (e.g. REQUIRES_NEW for independent commits)
  • Self-invocation pitfall: call transactional collaborators through injected beans, not this.method()
  • SQL text blocks for multi-line SQL (upserts, dialect-specific clauses)
  • When to prefer Micronaut Data (`@512`) vs raw JDBC

**Scope:** Apply recommendations based on the reference rules and good/bad code examples.

Constraints

Compile before JDBC refactors; verify after changes.

  • **MANDATORY**: Run `./mvnw compile` or `mvn compile` before applying any change
  • **PREREQUISITE**: Project must compile before applying JDBC improvements
  • **SAFETY**: If compilation fails, stop immediately
  • **BLOCKING CONDITION**: Compilation errors must be resolved by the user before proceeding
  • **VERIFY**: Run `./mvnw clean verify` or `mvn clean verify` after applying improvements
  • **BEFORE APPLYING**: Read the reference for detailed rules and examples

When to use this skill

  • Review JDBC or SQL data access in a Micronaut project
  • Improve transactions and parameter binding for Micronaut JDBC
  • Translate SQLException to domain exceptions or stream large result sets
  • Fix self-invocation bypassing @Transactional in Micronaut
  • Review Hikari or pooled datasource usage in Micronaut JDBC

Workflow

1. **Read reference and assess project context**

Read `references/511-frameworks-micronaut-jdbc.md` and inspect the current project setup before proposing changes.

2. **Gather scope and decide target improvements**

Identify requested outcomes, constraints, and the minimum safe set of changes to apply.

3. **Apply framework-aligned changes**

Implement or refactor configuration/code following the reference patterns and project conventions.

4. **Run verification and report results**

Execute appropriate build/tests and summarize what changed, what was verified, and any follow-up actions.

Reference

For detailed guidance, examples, and constraints, see [references/511-frameworks-micronaut-jdbc.md](references/511-frameworks-micronaut-jdbc.md).

Read more
@jabrena
Ships withplinth

Languages: Español · 中文 Help this project grow: Become a sponsor

Stars on GitHub

Momentum

stars in total
457
Star history of jabrena/plinth on GitHub, a chart by star-history.com

Other skills on plinth.

001-commands-inventory

001-commands-inventory

Use when you need to generate a checklist document with embedded commands inventory, following the embedded template exactly and…

@jabrena@jabrenaInstall Skill
002-agents-inventory

002-agents-inventory

Use when you need to generate a checklist document with embedded agents inventory, following the embedded template exactly and…

@jabrena@jabrenaInstall Skill
003-skills-inventory

003-skills-inventory

Use when you need to generate a checklist document with Java system prompts from skills.xml, following the embedded section…

@jabrena@jabrenaInstall Skill
004-commands-installation

004-commands-installat…

Use when you need to install the embedded project commands into command directories (.github/commands, .claude/commands,…

@jabrena@jabrenaInstall Skill
005-agents-installation

005-agents-installatio…

Use when you need to install the embedded robot agents into .github/agents, .claude/agents, .cursor/agents, or .codex/agents,…

@jabrena@jabrenaInstall Skill
012-agile-epic

012-agile-epic

Guides the creation of agile epics with comprehensive definition including business value, success criteria, and breakdown into…

@jabrena@jabrenaInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills12d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react3d252k
@facebook@facebookInstall Skill

Questions about 511-frameworks-micronaut-jdbc.

Which coding agents can use 511-frameworks-micronaut-jdbc?
511-frameworks-micronaut-jdbc installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.