mybatis

MyBatis关键字是否支持模糊查询

小樊
81
2024-08-28 12:39:52
栏目: 编程语言

是的,MyBatis 支持模糊查询。在 MyBatis 的映射文件中,你可以使用 LIKE 关键字来实现模糊查询。以下是一个简单的示例:

首先,创建一个 User 实体类:

public class User {
    private int id;
    private String name;
    // 省略 getter 和 setter 方法
}

然后,在 MyBatis 的映射文件中编写一个模糊查询的 SQL 语句:

<mapper namespace="com.example.mapper.UserMapper">
   <resultMap id="UserResultMap" type="com.example.entity.User">
        <id property="id" column="id"/>
       <result property="name" column="name"/>
    </resultMap>

   <select id="findUsersByName" resultMap="UserResultMap">
        SELECT * FROM user WHERE name LIKE CONCAT('%', #{name}, '%')
    </select>
</mapper>

在上面的示例中,我们使用了 LIKE 关键字和 CONCAT 函数来实现模糊查询。#{name} 是一个参数占位符,它将被传递给查询的名称参数替换。

接下来,创建一个 UserMapper 接口:

package com.example.mapper;

import com.example.entity.User;
import java.util.List;

public interface UserMapper {
    List<User> findUsersByName(String name);
}

最后,在你的业务逻辑中调用 UserMapper 的 findUsersByName 方法来执行模糊查询:

@Autowired
private UserMapper userMapper;

public List<User> searchUsersByName(String name) {
    return userMapper.findUsersByName(name);
}

这样,你就可以使用 MyBatis 实现模糊查询了。注意,这里的示例是基于 MyBatis 3.x 版本的。如果你使用的是其他版本,可能需要进行相应的调整。

0
看了该问题的人还看了