在 MyBatis 中,你可以使用 <if> 标签和 find_in_set() 函数来实现对某个字段进行查询的功能
user 的表,并且想要根据某个字段(例如 hobbies)来查询数据: SELECT * FROM user <where> <if test="hobby != null and hobby!=''"> FIND_IN_SET(#{hobby}, hobbies) </if> </where></select>这里,我们使用标签包裹查询条件,然后使用标签来判断传入的参数hobby是否为空或者为空字符串。如果不为空,则使用FIND_IN_SET()函数来查询hobbies` 字段中包含该爱好的所有用户。
public interface UserDao { List<User> findUsersByHobby(@Param("hobby") String hobby);}最后,在你的服务类中,通过调用 DAO 接口的方法来执行查询操作:@Servicepublic class UserService { @Autowired private UserDao userDao; public List<User> findUsersByHobby(String hobby) { return userDao.findUsersByHobby(hobby); }}现在,当你调用 findUsersByHobby() 方法时,MyBatis 将会根据传入的 hobby 参数在 user 表的 hobbies 字段中查询包含该爱好的所有用户。


