简介:本文讲解如何在mybatus-plus这个框架里面使用自定义的sql语句。
假设我们有一个实体类 User
,对应数据库中的 user
表。现在我们想要使用自定义SQL语句执行一些复杂查询,可以通过以下方式使用Mybatis-Plus:
@Mapper
public interface UserMapper extends BaseMapper<User> {
@Select("SELECT * FROM user WHERE name LIKE CONCAT('%', #{name}, '%')")
List<User> selectByName(String name);
}
在上述示例中,我们使用了 @Select
注解来定义 SQL 语句,并传入参数 ${name}
。
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService{
@Override
public List<User> selectByName(String name) {
return baseMapper.selectByName(name);
}
}
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/search")
public List<User> searchUsers(@RequestParam String name) {
return userService.selectByName(name);
}
}
在上述代码中,我们首先在 Controller 中定义了一个 /users/search
的 GET 请求,并传入参数 name
。接着,我们调用UserService中的selectByName方法并返回结果。
通过以上步骤,我们就可以通过Mybatis-Plus轻松地使用自定义SQL语句完成复杂查询。