511-frameworks-micronaut-jdbc
About 511-frameworks-micronaut-jdbc
A skill for reviewing and improving programmatic JDBC data access in Micronaut. It covers safe SQL, resource handling, and transaction patterns, with compile-first and post-change verification requirements.
Key features
- 01Prepared statements with bind parameters
- 02Resource-safe JDBC access
- 03ResultSet mapping and streaming
- 04Batch updates for bulk inserts
- 05Transaction boundaries and propagation
- 06SQLException translation
Use cases
- 01Review Micronaut JDBC data access
- 02Improve SQL parameter binding
- 03Stream large result sets safely
- 04Diagnose transaction self-invocation
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ jabrena/ plinth --skill 511-frameworks-micronaut-jdbcAfter installing, type/511-frameworks-micronaut-jdbcin Claude Code to confirm it loaded.
Bundled filesreferences/511-frameworks-micronaut-jdbc.md
Details
From the project READMEMicronaut 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; 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 compileormvn compilebefore 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 verifyormvn clean verifyafter 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
- Read reference and assess project context
Read references/511-frameworks-micronaut-jdbc.md and inspect the current project setup before proposing changes.
- Gather scope and decide target improvements
Identify requested outcomes, constraints, and the minimum safe set of changes to apply.
- Apply framework-aligned changes
Implement or refactor configuration/code following the reference patterns and project conventions.
- 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.