<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/using-like-wildcards-in-java-preparedstatements-ixtqiyp75" -->

---
title: Using “LIKE” Wildcards in Java PreparedStatements
description: PreparedStatements with SQL LIKE operators require careful handling of wildcard characters. The simplest approach is concatenating wildcards (%, _) directly to...
canonical: https://daily.dev/posts/using-like-wildcards-in-java-preparedstatements-ixtqiyp75
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Using “LIKE” Wildcards in Java PreparedStatements | daily.dev
og:description: PreparedStatements with SQL LIKE operators require careful handling of wildcard characters. The simplest approach is concatenating wildcards (%, _) directly to...
og:url: https://daily.dev/posts/using-like-wildcards-in-java-preparedstatements-ixtqiyp75
og:image: https://api.daily.dev/og/posts/ixtQiyp75.png
og:image:alt: Using “LIKE” Wildcards in Java PreparedStatements
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.

# Using “LIKE” Wildcards in Java PreparedStatements

**[Baeldung](https://daily.dev/sources/baeldung)** · 6 min read · 0 upvotes · 0 comments

## Summary

PreparedStatements with SQL LIKE operators require careful handling of wildcard characters. The simplest approach is concatenating wildcards (%, _) directly to parameter values before binding. Alternatively, SQL's CONCAT() function can handle wildcards database-side. When search keywords contain literal wildcard characters, they must be escaped using a custom escape character (like '!') and declared with the ESCAPE clause to prevent unintended pattern matching. The article demonstrates these patterns through H2 database integration tests, showing correct and incorrect implementations.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://feeds.feedblitz.com/~/945487700/0/baeldung~Using-LIKE-Wildcards-in-Java-PreparedStatements>

## Similar posts on daily.dev

- [Perform Wildcard Search in Elasticsearch](https://daily.dev/posts/perform-wildcard-search-in-elasticsearch-8kpgt6vyf) · Baeldung · 0 upvotes · 0 comments
- [Regular Expression Support in HQL](https://daily.dev/posts/regular-expression-support-in-hql-3x31utxv3) · Baeldung · 6 upvotes · 1 comments
- [CVE-2026-49211: Information exposure via unescaped LIKE wildcards in EntitySearchUtil \(Symfony Blog\)](https://daily.dev/posts/cve-2026-49211-information-exposure-via-unescaped-like-wildcards-in-entitysearchutil-symfony-blog--v3tliguzf) · Symfony · 0 upvotes · 0 comments
- [Building up a SQL Query String in Java](https://daily.dev/posts/building-up-a-sql-query-string-in-java-cdk1nd50b) · Baeldung · 8 upvotes · 0 comments

---

Tags: [#security](https://daily.dev/tags/security), [#java](https://daily.dev/tags/java), [#database](https://daily.dev/tags/database), [#sql](https://daily.dev/tags/sql)

[View this post on daily.dev](https://daily.dev/posts/using-like-wildcards-in-java-preparedstatements-ixtqiyp75)

```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":"TechArticle","headline":"Using “LIKE” Wildcards in Java PreparedStatements","url":"https://daily.dev/posts/using-like-wildcards-in-java-preparedstatements-ixtqiyp75","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/using-like-wildcards-in-java-preparedstatements-ixtqiyp75"},"datePublished":"2026-02-09T01:30:17.952Z","dateModified":"2026-02-09T01:30:41.549Z","description":"PreparedStatements with SQL LIKE operators require careful handling of wildcard characters. The simplest approach is concatenating wildcards (%, _) directly to...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/dbe8019bb3afc4990757bf39ff375662?_a=AQAEunF","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/dbe8019bb3afc4990757bf39ff375662?_a=AQAEunF","isAccessibleForFree":true,"articleSection":"Baeldung","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Baeldung","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/52cccfb454d946c4b7dfa5e816f9e576","url":"https://daily.dev/sources/baeldung"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/using-like-wildcards-in-java-preparedstatements-ixtqiyp75","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"security,java,database,sql","timeRequired":"PT6M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Baeldung","item":"https://daily.dev/sources/baeldung"},{"@type":"ListItem","position":3,"name":"Using “LIKE” Wildcards in Java PreparedStatements"}]}
```

