首页 > 其他 > 详细

Mybatis模糊查询结果为空的最新解决方案

时间:2021-05-15 12:47:08      阅读:12      评论:0      收藏:0      [点我收藏+]

写在前面

Mybatis使用模糊查询,查询结果为空的解决方案,我的代码是

select * from sp_user where 1=1
<if test="username!=null">
    and username like ‘%‘#{username}‘%‘
</if>

查询结果如下:

2021-05-14 23:45:20.078 DEBUG 15620 --- [           main] c.e.s.mapper.UserMapper.selectByQuery    : ==>  Preparing: select * from sp_user where 1=1 and username like ‘%‘?‘%‘
2021-05-14 23:45:20.105 DEBUG 15620 --- [           main] c.e.s.mapper.UserMapper.selectByQuery    : ==> Parameters: ad(String)
2021-05-14 23:45:20.130 DEBUG 15620 --- [           main] c.e.s.mapper.UserMapper.selectByQuery    : <==      Total: 0

解决方案

百度了很多,都说在数据库的url上添加useUnicode=true&characterEncoding=utf-8
我加了,结果还是查询不到,后来试了一下CONTACT函数

        select * from sp_user where 1=1
        <if test="username!=null">
            and username like CONCAT(‘%‘,#{username},‘%‘)
        </if>

查询结果如下:

2021-05-14 23:45:20.078 DEBUG 15620 --- [           main] c.e.s.mapper.UserMapper.selectByQuery    : ==>  Preparing: select * from sp_user where 1=1 and username like CONCAT(‘%‘,?,‘%‘) 
2021-05-14 23:45:20.105 DEBUG 15620 --- [           main] c.e.s.mapper.UserMapper.selectByQuery    : ==> Parameters: ad(String)
2021-05-14 23:45:20.130 DEBUG 15620 --- [           main] c.e.s.mapper.UserMapper.selectByQuery    : <==      Total: 1

我用的mybatis版本是:

        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.0.0</version>
        </dependency>

希望结果对大家有用~ 共勉!

Mybatis模糊查询结果为空的最新解决方案

原文:https://www.cnblogs.com/Fzeng/p/14770582.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!