mybatis入参模糊查询
时间: 2023-09-08 15:15:43 浏览: 97
MyBatis-plus 模糊查询的使用
在MyBatis中,可以使用%符号实现模糊查询。然而,直接使用%可能会引发SQL注入的问题。为了同时解决模糊查询和SQL注入的问题,可以借助MySQL的函数和MyBatis的bind标签来实现。
首先,可以使用MySQL的CONCAT()函数将多个字符串连接成一个字符串。在MyBatis的映射文件中,可以使用该函数来实现模糊查询。例如,可以使用以下语句实现模糊查询:
SELECT * FROM t_role WHERE role_name LIKE CONCAT('%',#{keyword},'%') OR id LIKE CONCAT('%',#{keyword},'%') OR role_type LIKE CONCAT('%',#{keyword},'%')
另外,还可以使用MyBatis的bind标签来定义一个变量,并将模糊查询的字符串赋值给该变量。然后,在查询语句中使用该变量来实现模糊查询。例如,可以使用以下语句实现模糊查询:
<bind name="pattern" value="'%' + keyword + '%'" />
SELECT * FROM t_role WHERE role_name LIKE #{pattern} OR id LIKE #{pattern} OR role_type LIKE #{pattern}
需要注意的是,在使用bind标签时,要使用${...}来引用变量,而不是使用#{...}。这是因为#{...}会将传入的参数作为字符串参数处理,而${...}会将传入的参数直接替换到SQL语句中。
综上所述,可以通过使用MySQL的函数和MyBatis的bind标签来实现MyBatis的入参模糊查询。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [SSM框架的学习与应用-Java EE企业级应用开发学习记录(第五天)MyBatis的注解开发](https://download.csdn.net/download/m0_53659738/88258800)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [MyBatis模糊查询的4种实现方式](https://blog.csdn.net/shadow_zed/article/details/107929621)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [MyBatis的模糊查询多种写法](https://blog.csdn.net/qq_45802158/article/details/127183382)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
阅读全文