文章目录 一、Mybatis常用模糊查询方法1.使用concat("%",#{name},"%")2.使用'%${name}%'3.使用"%"#{name}"%"总结:
UserMapper.xml文件:
<select id="selectUsersByCondition" resultType="qin.com.entity.Users" parameterType="Users"> select * from users <where> <if test="name != null and name != ''"> and name like concat("%",#{name},"%") if> <if test="sex != null and sex != ''"> and sex = #{sex} if> <if test="birthday != null and birthday != ''"> and birthday = #{birthday} if> <if test="createTime != null and createTime != ''"> and createTime>=#{createTime} if> <if test="updateTime != null and updateTime != ''"> and updateTime <= #{updateTime} if> where> order by id desc select>
Test测试代码
@Test public void testSelectUsersByCondition() { ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml"); UsersService usersService =(UsersService) applicationContext.getBean("usersService"); Users users = new Users(); users.setName("小"); List<Users> list = usersService.selectUsersByCondition(users); list.forEach(users1 -> System.out.println("根据条件查询用户信息:"+users1)); }
输出结果:
查询语句
==> Preparing: select * from users WHERE name like concat(“%”,?,“%”) order by id desc
==> Parameters: 小(String)
UserMapper.xml文件:
<if test="name != null and name != ''"> and name like '%${name}%' if>
输出结果:
==> Preparing: select * from users WHERE name like ‘%小%’ order by id desc
==> Parameters:
<if test="name != null and name != ''"> and name like "%"#{name}"%"if>
输出语句:
==> Preparing: select * from users WHERE name like “%”?“%” order by id desc
==> Parameters: 小(String)
推荐使用第一和第三种方式
来源地址:https://blog.csdn.net/qq_43634655/article/details/126212894
--结束END--
本文标题: MySQL模糊查询的三种方式
本文链接: https://www.lsjlt.com/news/389035.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-03
2024-05-03
2024-05-03
2024-05-03
2024-05-03
2024-05-03
2024-05-03
2024-05-03
2024-05-03
2024-05-03
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0