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

 更新时间:2016年07月08日 17:04:56   作者:DeveloperFanyl  
这篇文章主要介绍了Mybatis使用MySQL模糊查询时输入中文检索不到结果的解决办法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下

项目开发中,在做Mybatis动态查询时,遇到了一个问题:MySQL在进行LIKE模糊查询时,输入英文可以正常检索出结果,但是输入中文后检索得到的结果为空。

由于是使用GET方式请求,所以为了确保中文不乱码,在控制台接收到请求参数后,对中文进行了一次编码。

try {
realName = new String(realName.getBytes("GBK"), "UTF-8");
} catch (UnsupportedEncodingException exception) {
logger.error("realName在进行UTF-8编码时出错," + exception.toString());
}

Mybatis动态SQL映射,具体的SQL如下:

这里写图片描述

首先使用模糊查询检索英文。启动项目,输入英文“test”,按照英文内容检索得到的结果如下图:

这里写图片描述

我们可以看到SQL正常执行,使用“test”总共检索出2条结果,数据库中对应字段的内容分别是张三test02和张三test,正常来说,如果我们输入中文“张”也可以查询到这两条数据,下面试试使用模糊查询检索中文。启动项目,输入中文“张”,检索得到结果如下图:

这里写图片描述

我们可以看到这里检索出的结果是0条记录,并且条件的中文内容没有乱码,和预想中的并不一样。复制同样的SQL语句到SQLyog中执行是可以正常检索出结果的。

在使用SQLServer时并没有出现过这样的问题,这次使用MySQL才出现这种情况,怀疑是在Mybatis配置数据源environment时SQLServer和MySQL配置的内容有差异,仔细对比并上网查阅相关内容后发现,MySQL在进行中文检索时,需要在jdbcURL后增加参数useUnicode=true&characterEncoding=UTF-8来指定编码格式。

这里写图片描述

完整的URL:

jdbc:mysql://127.0.0.1:3306/fanyl_web?useUnicode=true&characterEncoding=UTF-8

在修改了MySQL的jdbcURL后,启动项目,继续输入中文“张”,检索得到结果如下:

这里写图片描述

总共检索出3条结果,至此Mybatis使用MySQL进行模糊查询时输入中文检索不到结果的问题就解决了。

另外再附上MySQL的jdbcURL中常见的几个参数说明:

以上所述是小编给大家介绍的Mybatis使用MySQL模糊查询时输入中文检索不到结果怎么办,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • SpringBoot+MySQL实现读写分离的多种具体方案

    SpringBoot+MySQL实现读写分离的多种具体方案

    在高并发和大数据量的场景下,数据库成为了系统的瓶颈。为了提高数据库的处理能力和性能,读写分离成为了一种常用的解决方案,本文将介绍在Spring Boot项目中实现MySQL数据库读写分离的多种具体方案,需要的朋友可以参考下
    2023-06-06
  • mybatis中实现枚举自动转换方法详解

    mybatis中实现枚举自动转换方法详解

    在使用mybatis的时候经常会遇到枚举类型的转换,下面这篇文章主要给大家介绍了关于mybatis中实现枚举自动转换的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-08-08
  • Java利用AlphaComposite类合并图像

    Java利用AlphaComposite类合并图像

    这篇文章主要介绍了Java利用AlphaComposite类合并图像,帮助大家更好的利用Java处理图像,感兴趣的朋友可以了解下
    2020-10-10
  • SpringCloud微服务架构升级汇总

    SpringCloud微服务架构升级汇总

    这篇文章主要介绍了SpringCloud微服务架构升级汇总,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值,需要的朋友可以参考下
    2019-06-06
  • Eclipse maven项目lombok安装配置图解

    Eclipse maven项目lombok安装配置图解

    这篇文章主要介绍了Eclipse maven项目lombok安装配置图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • SpringCloud微服务网关限流方式

    SpringCloud微服务网关限流方式

    这篇文章主要介绍了SpringCloud微服务网关限流方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • 连续调用多个外部系统写接口保证数据一致性的思路

    连续调用多个外部系统写接口保证数据一致性的思路

    今天小编就为大家分享一篇关于连续调用多个外部系统写接口保证数据一致性的思路,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • java Spring MVC4环境搭建实例详解(步骤)

    java Spring MVC4环境搭建实例详解(步骤)

    spring WEB MVC框架提供了一个MVC(model-view-controller)模型-视图-控制器的结构和组件,利用它可以开发更灵活、松耦合的web应用。MVC模式使得整个服务应用的各部分(控制逻辑、业务逻辑、UI界面展示)分离开来,使它们之间的耦合性更低
    2017-08-08
  • SpringMVC中事务是否可以加在Controller层的问题

    SpringMVC中事务是否可以加在Controller层的问题

    这篇文章主要介绍了SpringMVC中事务是否可以加在Controller层的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Java实现多个文档合并输出到一个文档

    Java实现多个文档合并输出到一个文档

    这篇文章主要为大家详细介绍了Java实现多个文档合并输出到一个文档的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10

最新评论