Java -- MyBatis学习笔记8、模糊查询like

1、模糊 like

模糊查询的实现有两种方式, 一是java代码中给查询数据加上"%"; 二是在mapper文件sql语句的条件位置加上“%”。

  • 需求:查询姓名有"王"的

1.1、java代码中提供要查询的 "%王%"

  • 接口方法:
List<UserInfo> selectLikeList(String name);
  • mapper文件:
<select id="selectLikeList" resultType="com.rg.entity.UserInfo">
     select * from UserInfo where Name like #{name}
</select>
  • 测试方法:
@Test
    public void selectAllByLike()
    {
        String likeName = "%王%";

        List<UserInfo> userList = userInfoDao.selectLikeList(likeName);

        userList.forEach(x -> System.out.println(x));
    }

1.2、mapper文件中使用like name "%" #{xxx} "%"

  • 接口方法:
List<UserInfo> selectLikeList2(String name);
  • mapper文件:
<select id="selectLikeList2" resultType="com.rg.entity.UserInfo">
    select * from UserInfo where Name like "%" #{name} "%"
</select>
  • 测试方法:
@Test
    public void selectAllByLike2()
    {
        String likeName = "王";
        
        List<UserInfo> userList = userInfoDao.selectLikeList2(likeName);

        userList.forEach(x -> System.out.println(x));
    }

概括来讲、第一种方式就是事先在Java代码中把格式写好、直接传过去。第二种是只传入值、在mapper文件里写模糊查询格式、在MyBatis开发中、推荐使用第一种、也就是事先在Java代码中写好。

原文地址:https://www.cnblogs.com/dcy521/p/14748221.html