MyBatis模糊查询问题

问题遇到的现象和发生背景

MyBatis模糊查询问题
测试按照用户名或者地址时,发现传入的参数有问题,导致查询不出来

问题相关代码
List<Users> getByNameOrAddress(
        @Param("columnName")
        String columnName,
        @Param("columnValue")
        String columnValue);

<select id="getByNameOrAddress" resultType="users">
    select id,username,birthday,sex,address
    from users
    where ${columnName} like  concat('%',#{columnName},'%')
</select>
测试
@Test
    public void test3(){
        List<Users> list = usersMapper.getByNameOrAddress("address","市");
        list.forEach(users -> System.out.println(users));
    }

运行结果及报错内容

==> Preparing: select id,username,birthday,sex,address from users where address like concat('%',?,'%')
==> Parameters: address(String)
<== Total: 0

这里Parameters传入的本来应该是”市“,居然变成了第一个参数address,所以一个也查不出来,半天找不出自己的错

concat('%',#{columnName},'%')里的columnName换成columnValue

xml两个columnName