首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Mybatis使用MySQL模糊查询时输入中文检索不到结果怎么办

Mybatis使用MySQL模糊查询时输入中文检索不到结果怎么办

提问于 2024-01-21 16:26:10
回答 1关注 0查看 115

回答 1

gavin1024

发布于 2024-01-22 04:13:12

答案:在MyBatis中,使用MySQL模糊查询时,如果输入中文检索不到结果,可以尝试将查询条件中的中文转换为字节码再进行模糊查询。在MySQL中,可以使用CONVERT()函数将中文转换为字节码。

解释:MyBatis在处理中文查询条件时,可能会遇到编码问题,导致查询结果不符合预期。通过将中文转换为字节码,可以避免编码问题。

举例:

假设我们有一个名为user的表,其中有一个名为name的字段,我们想要查询名字中包含“张三”的所有用户。在MyBatis的映射文件中,可以使用如下SQL语句:

代码语言:txt
AI代码解释
复制
SELECT * FROM user WHERE CONVERT(name USING gbk) LIKE CONVERT('%张三%' USING gbk)

在上述SQL语句中,我们使用了CONVERT()函数将name字段的值和查询条件中的“张三”转换为GBK编码的字节码,然后再进行模糊查询。这样可以确保查询结果的正确性。

需要注意的是,上述示例中的gbk编码可能需要根据你的实际数据库字符集进行调整。如果你的数据库使用的是其他字符集,如UTF-8,则需要在CONVERT()函数中相应地修改编码参数。

和开发者交流更多问题细节吧,去 写回答
相关文章
Mybatis使用级联映射时 , 查询的结果为null
于是就开始对代码进行排查 , debug ,最终发现错误 , 原来是自己映射中的 property 和 column的顺序搞反了😂😂😂
捞月亮的小北
2023/12/01
5780
Mybatis使用级联映射时 , 查询的结果为null
Mybatis 模糊查询
1、使用’#{abc}‘的方式,使用的是占位符的方式,PrepatedStatement的参数占位符预处理 2、使用’%${value}%’,使用的是拼接字符串的方式,Statement对象的字符串拼接,参数必须的value
全栈程序员站长
2022/11/01
2.1K0
搞定MySQL数据库中文模糊检索问题
 在 MySQL下,在进行中文模糊检索时,经常会返回一些与之不相关的记录,如查找 "%a%" 时,返回的可能有中文字符,却没有a字符存在。本人以前也曾遇到过类似问题,经详细阅读MySQL的Manual,发现可以有一种方法很方便的解决并得到满意的结果。
用户2192970
2019/02/22
2.3K0
MyBatis处理模糊查询
模糊查询是一种搜索数据的方式,它允许您在不完全匹配数据的情况下找到相应的结果。模糊查询通常用于在大型数据集中查找数据,并且通常比精确匹配更具实用性。例如,在一个包含大量文章的数据库中,可以使用模糊查询查找所有包含特定关键字的文章。
堕落飞鸟
2023/05/15
2K0
MySql 模糊查询
SQL模糊查询,使用like比较关键字,加上SQL里的通配符,请参考以下:  1、LIKE'Mc%' 将搜索以字母 Mc 开头的所有字符串(如 McBadden)。  2、LIKE'%inger' 将搜索以字母 inger 结尾的所有字符串(如 Ringer、Stringer)。  3、LIKE'%en%' 将搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)。  4、LIKE'_heryl' 将搜索以字母 heryl 结尾的所有六个字母的名称(如 Cheryl、Sheryl)。  5、LIKE'[CK]ars[eo]n' 将搜索下列字符串:Carsen、Karsen、Carson 和 Karson(如 Carson)。  6、LIKE'[M-Z]inger' 将搜索以字符串 inger 结尾、以从 M 到 Z 的任何单个字母开头的所有名称(如 Ringer)。  7、LIKE'M[^c]%' 将搜索以字母 M 开头,并且第二个字母不是 c 的所有名称(如MacFeather)。
ydymz
2018/09/10
5.5K0
MyBatis中Like语句使用方式(模糊查询)
oracle数据库: Java代码 SELECT * FROM user WHERE name like CONCAT('%',#{name},'%') 或 Java代码 SELECT * FROM user WHERE name like '%'||#{name}||'%' SQLServer数据库: Java代码 SELECT * FROM user WHERE name like '%'+#{name}+'%' mysql数据库:
麦克劳林
2018/09/11
5.9K0
Mybatis—CURD以及模糊查询
配置文件中namespace中的名称为对应Mapper接口或者Dao接口的完整包名,必须一致!
Albert_xiong
2021/06/21
5420
Mybatis—CURD以及模糊查询
Mybatis模糊查询的写法
其中_name为传递进来的参数,bind元素的value属性将传进来的参数和 '%' 拼接到一起后赋给name属性的user_name,之后可以在select语句中使用user_name这个变量。
乐心湖
2021/01/18
2.6K0
mybatis做like模糊查询
mybatis在做Like的模糊查询的时候,不能直接在sql语句中使用like %关键词,因为这是Mybatis的保留关键字。其实想做模糊查询很简单,随便写下以下几种供大家参考:
幽鸿
2020/04/02
1.9K1
使用 querySelector 查询元素时,如何使用正则进行模糊匹配查询?
你好,今天聊一个简单的技术问题,使用 querySelector 方法查询网页上的元素时,如何使用正则进行模糊匹配查询?
LIYI
2023/10/25
2.6K0
使用 querySelector 查询元素时,如何使用正则进行模糊匹配查询?
MyBatis中模糊查询like的几种使用方式
1. 直接在Java代码中添加通配符的方式 String sname = "%张三%"; System.out.println(studentMapper.getStudent(sname)); <select id="getStudent" resultType="map" parameterType="String"> SELECT sid,sname FROM student WHERE sname like #{sname} </select> 2. CONCAT函数的方式 String sna
布禾
2020/12/07
3.5K0
Go语言——使用模糊查询检索关键词小技巧
 平常我们项目中存放类似于标签这种东西的时候,可能第一时间想到的就是beego,go,gin这种方式以,作为分隔符,但是这样是有弊端的,如果我想要通过模糊查询检索关键词go,这里我们会发现beego也会被检索到,那么我们有什么办法可以避免这种情况呢?
传说之下的花儿
2023/04/16
5240
java之mybatis之模糊查询
1.在 mybatis 中,模糊查询可以有以下方式 (1).第一种,直接将封装好的条件传给 sql 语句 <select id="findByName" parameterType="string" resultType="User"> select * from t_user where name like #{name} </select> 代码 @Test public void testFindLike() throws IOException{ SqlSe
Vincent-yuan
2019/09/11
1.7K0
Mysql 模糊查询总结
注意:由于通配符的缘故,导致我们查询特殊字符“%”、“_”、“[”的语句无法正常实现,而把特殊字符用“[ ]”括起便可正常查询。有以下函数:
Yiiven
2022/12/15
4K0
Mybatis注解开发模糊查询
Mybatis注解开发模糊查询 一般在使用mybatis时都是采用xml文件保存sql语句 这篇文章讲一下在使用mybatis的注解开发时,如何进行模糊查询 模糊查询语句写法(在@Select注解中): where field like CONCAT('%',#{keyWord},'%') 下面是一些错误写法: where title like #{keyword} 这样写不会报错,但无法做到模糊查询、 where title like '%#{keyword}%' 这样写会报错
用户2409797
2019/02/25
2.6K0
【MyBatis】 动态SQL——模糊查询 LIKE
SQL解析为:SELECT * FROM t_usr WHERE name like ‘%海%’ 传参必须用${}不能用#{},这样写的弊端是不安全,不能防sql注入 有关LIKE使用,请参见:https://blog.csdn.net/wrs120/article/details/7930582
全栈程序员站长
2022/09/01
1.8K0
Mybatis中使用注解开发关于模糊查询写法
一开始,业务逻辑,是需要通过关键词,找到数据库中两个字段中有的模糊关键词,于是我毫不犹豫使用了like。
吃猫的鱼Code
2023/04/22
6070
Mybatis中模糊查询like语句的使用方法
在java中的dao或service层或者controller层传值的时候写上%%号
手撕代码八百里
2020/07/29
1.7K0
MySQL 模糊查询:MySQL 数据库 like 语句通配符模糊查询小结
MySQL 报错:Parameter index out of range (1 > number of parameters, which is 0)——MySQL 数据库 like 语句通配符模糊查询小结 文章目录 MySQL 报错:Parameter index out of range (1 > number of parameters, which is 0)——MySQL 数据库 like 语句通配符模糊查询小结 前言 一、分析 SQL 语句 1.1、普通 SQL 语句的查询分析 1.2、普通
白鹿第一帅
2022/11/30
16.2K0
MySQL 模糊查询:MySQL 数据库 like 语句通配符模糊查询小结
MySQL模糊查询二三事
源数据字段:Student表字段Names 存储内容为"111,222,333,444,555,666,777,888"
GoodTime
2024/03/15
2860
MySQL模糊查询二三事

相似问题

mysql查询结果中的中文乱码?

4412

AVmonitor上查不到信息,查询条件都输入正确,怎么办?

1306

找不到RegisteredOwner怎么办?

0140

小程序 webrtc 远程流特别模糊怎么办?

0400

领不到免费套餐怎么办?

2393
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
相关问答用户
《用ChatGPT做软件测试》 | 作者擅长5个领域
到家集团 | 技术VP擅长5个领域
擅长3个领域
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档