知识回顾: #{}是使用占位符赋值, 自动加单引号。${}是使用字符串拼接,手动加单引号。特色模糊查询中,本章我们会介绍${}处理模糊查询。

1.接口

    /**
     * 根据用户名模糊查询用户信息
     */
    List<User> getUserByLike(@Param("username") String name);

2.mapper文件

    /**
     * 根据用户名模糊查询用户信息
     */
    List<User> getUserByLike(@Param("username") String name);

3.测试类

    @Test
    public void testGetUserByLike(){
        SqlSession sqlSession = SqlSessionUtils.getSqlSession();
        SqlMapper mapper = sqlSession.getMapper(SqlMapper.class);
        List<User> a = mapper.getUserByLike("a");
        System.out.println(a);
    }

4.结果

 5. 查看LOG

21:06:58:804 [main] DEBUG org.apache.ibatis.logging.jdbc.BaseJdbcLogger 137 - ==>  Preparing: select * from t_user where username like '%a%'

LOG里显示我们传入的参数a作为了字符串拼接到like '%a%'

所以在模糊查询时候我们用$才能正确查询

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐