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; 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
How do I install this agent skill?
npx skills add https://github.com/jabrena/plinth --skill 511-frameworks-micronaut-jdbcIs this agent skill safe to install?
- Gen Agent Trust Hubpass
This skill provides best practices for programmatic JDBC in Micronaut, emphasizing SQL injection prevention and transaction management. It utilizes standard Java build tools (Maven) for code verification. The security posture is generally safe, with a low-severity finding regarding the inherent surface for indirect prompt injection common to code-review assistants.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
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 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.
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/jabrena/plinth/511-frameworks-micronaut-jdbc">View 511-frameworks-micronaut-jdbc on skillZs</a>