{"id":21778,"date":"2024-03-15T22:35:10","date_gmt":"2024-03-15T22:35:10","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-use-mybatis-fuzzy-query-statement\/"},"modified":"2024-03-21T21:17:56","modified_gmt":"2024-03-21T21:17:56","slug":"how-to-use-mybatis-fuzzy-query-statement","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-use-mybatis-fuzzy-query-statement\/","title":{"rendered":"How to use MyBatis fuzzy query statement?."},"content":{"rendered":"<p>One way to implement fuzzy queries using MyBatis is by using the LIKE keyword. Here is a method to perform fuzzy queries with MyBatis.<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-comment\">&lt;!-- \u5b9a\u4e49\u67e5\u8be2\u8bed\u53e5 --&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">select<\/span> <span class=\"hljs-attr\">id<\/span>=<span class=\"hljs-string\">\"searchUsers\"<\/span> <span class=\"hljs-attr\">parameterType<\/span>=<span class=\"hljs-string\">\"String\"<\/span> <span class=\"hljs-attr\">resultType<\/span>=<span class=\"hljs-string\">\"User\"<\/span>&gt;<\/span>\r\n  SELECT * FROM user\r\n  WHERE username LIKE CONCAT('%', #{keyword}, '%')\r\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">select<\/span>&gt;<\/span>\r\n<\/code><\/pre>\n<p>In the example above, &#8216;searchUsers&#8217; is the unique identifier of the query statement, &#8216;username&#8217; is the field name that needs to be matched fuzzily, and &#8216;#{keyword}&#8217; is the fuzzy search keyword passed through parameters.<\/p>\n<p>The code that calls the query statement is as follows:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">public<\/span> List&lt;User&gt; <span class=\"hljs-title function_\">searchUsers<\/span><span class=\"hljs-params\">(String keyword)<\/span> {\r\n  <span class=\"hljs-keyword\">try<\/span> (<span class=\"hljs-type\">SqlSession<\/span> <span class=\"hljs-variable\">sqlSession<\/span> <span class=\"hljs-operator\">=<\/span> sqlSessionFactory.openSession()) {\r\n    <span class=\"hljs-type\">UserMapper<\/span> <span class=\"hljs-variable\">userMapper<\/span> <span class=\"hljs-operator\">=<\/span> sqlSession.getMapper(UserMapper.class);\r\n    <span class=\"hljs-keyword\">return<\/span> userMapper.searchUsers(keyword);\r\n  }\r\n}\r\n<\/code><\/pre>\n<p>In the above code, the searchUsers method takes a keyword as a parameter and performs a fuzzy search using the searchUsers method of the UserMapper interface.<\/p>\n<p>Please note that in the above examples, the CONCAT function is used to construct the conditions for fuzzy queries. This function is used to concatenate strings in order to add &#8216;%&#8217; on both sides of the keyword to achieve fuzzy matching. The specific SQL syntax and function usage may vary depending on the type of database, so adjustments may be needed based on the actual situation.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>One way to implement fuzzy queries using MyBatis is by using the LIKE keyword. Here is a method to perform fuzzy queries with MyBatis. &lt;!&#8211; \u5b9a\u4e49\u67e5\u8be2\u8bed\u53e5 &#8211;&gt; &lt;select id=&#8221;searchUsers&#8221; parameterType=&#8221;String&#8221; resultType=&#8221;User&#8221;&gt; SELECT * FROM user WHERE username LIKE CONCAT(&#8216;%&#8217;, #{keyword}, &#8216;%&#8217;) &lt;\/select&gt; In the example above, &#8216;searchUsers&#8217; is the unique identifier of the query statement, [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-21778","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to use MyBatis fuzzy query statement?. - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-use-mybatis-fuzzy-query-statement\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to use MyBatis fuzzy query statement?.\" \/>\n<meta property=\"og:description\" content=\"One way to implement fuzzy queries using MyBatis is by using the LIKE keyword. Here is a method to perform fuzzy queries with MyBatis. &lt;!-- \u5b9a\u4e49\u67e5\u8be2\u8bed\u53e5 --&gt; &lt;select id=&quot;searchUsers&quot; parameterType=&quot;String&quot; resultType=&quot;User&quot;&gt; SELECT * FROM user WHERE username LIKE CONCAT(&#039;%&#039;, #{keyword}, &#039;%&#039;) &lt;\/select&gt; In the example above, &#8216;searchUsers&#8217; is the unique identifier of the query statement, [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-use-mybatis-fuzzy-query-statement\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-15T22:35:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-21T21:17:56+00:00\" \/>\n<meta name=\"author\" content=\"William Carter\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"William Carter\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-mybatis-fuzzy-query-statement\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-mybatis-fuzzy-query-statement\/\"},\"author\":{\"name\":\"William Carter\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/f697031891aacefc4b681d139781d3c0\"},\"headline\":\"How to use MyBatis fuzzy query statement?.\",\"datePublished\":\"2024-03-15T22:35:10+00:00\",\"dateModified\":\"2024-03-21T21:17:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-mybatis-fuzzy-query-statement\/\"},\"wordCount\":166,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-mybatis-fuzzy-query-statement\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-mybatis-fuzzy-query-statement\/\",\"name\":\"How to use MyBatis fuzzy query statement?. - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T22:35:10+00:00\",\"dateModified\":\"2024-03-21T21:17:56+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-mybatis-fuzzy-query-statement\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-use-mybatis-fuzzy-query-statement\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-mybatis-fuzzy-query-statement\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to use MyBatis fuzzy query statement?.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/f697031891aacefc4b681d139781d3c0\",\"name\":\"William Carter\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g\",\"caption\":\"William Carter\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/williamcarter\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to use MyBatis fuzzy query statement?. - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-to-use-mybatis-fuzzy-query-statement\/","og_locale":"en_US","og_type":"article","og_title":"How to use MyBatis fuzzy query statement?.","og_description":"One way to implement fuzzy queries using MyBatis is by using the LIKE keyword. Here is a method to perform fuzzy queries with MyBatis. &lt;!-- \u5b9a\u4e49\u67e5\u8be2\u8bed\u53e5 --&gt; &lt;select id=\"searchUsers\" parameterType=\"String\" resultType=\"User\"&gt; SELECT * FROM user WHERE username LIKE CONCAT('%', #{keyword}, '%') &lt;\/select&gt; In the example above, &#8216;searchUsers&#8217; is the unique identifier of the query statement, [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-use-mybatis-fuzzy-query-statement\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T22:35:10+00:00","article_modified_time":"2024-03-21T21:17:56+00:00","author":"William Carter","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"William Carter","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-mybatis-fuzzy-query-statement\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-mybatis-fuzzy-query-statement\/"},"author":{"name":"William Carter","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/f697031891aacefc4b681d139781d3c0"},"headline":"How to use MyBatis fuzzy query statement?.","datePublished":"2024-03-15T22:35:10+00:00","dateModified":"2024-03-21T21:17:56+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-mybatis-fuzzy-query-statement\/"},"wordCount":166,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-mybatis-fuzzy-query-statement\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-use-mybatis-fuzzy-query-statement\/","name":"How to use MyBatis fuzzy query statement?. - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T22:35:10+00:00","dateModified":"2024-03-21T21:17:56+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-mybatis-fuzzy-query-statement\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-use-mybatis-fuzzy-query-statement\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-mybatis-fuzzy-query-statement\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to use MyBatis fuzzy query statement?."}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/f697031891aacefc4b681d139781d3c0","name":"William Carter","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g","caption":"William Carter"},"url":"https:\/\/www.silicloud.com\/blog\/author\/williamcarter\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/21778","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=21778"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/21778\/revisions"}],"predecessor-version":[{"id":55659,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/21778\/revisions\/55659"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=21778"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=21778"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=21778"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}