mybatis模糊查询的控制层
在MyBatis中,模糊查询可以使用通配符来实现,常用的通配符有%和_。
在控制层中,可以通过传递模糊查询的关键字参数到Mapper层的方法中,然后在Mapper层的XML文件中使用通配符来进行模糊查询。
以下是一个示例代码:
@Controller
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/user/search")
public String searchUser(Model model, @RequestParam("keyword") String keyword) {
List<User> userList = userService.searchUser(keyword);
model.addAttribute("userList", userList);
return "userList";
}
}
在上述代码中,searchUser方法接收一个名为keyword的参数,该参数即为模糊查询的关键字。然后调用UserService的searchUser方法进行模糊查询,并将查询结果存入userList中。
接下来,在UserService中定义searchUser方法:
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public List<User> searchUser(String keyword) {
return userMapper.searchUser(keyword);
}
}
在UserMapper接口中定义searchUser方法:
public interface UserMapper {
List<User> searchUser(String keyword);
}
最后,在UserMapper.xml文件中实现searchUser方法:
<select id="searchUser" parameterType="java.lang.String" resultType="User">
SELECT * FROM user WHERE name LIKE CONCAT('%', #{keyword}, '%')
</select>
在上述示例代码中,使用了LIKE关键字和CONCAT函数来实现模糊查询。%表示匹配任意字符(包括0个字符),_表示匹配一个字符。
注意:以上代码仅为示例,具体的实现方式可能会根据具体的需求和数据库类型有所差异
原文地址: https://www.cveoy.top/t/topic/iooU 著作权归作者所有。请勿转载和采集!