在mybatis-plus怎么使用自定义的sql语句
简介:本文讲解如何在mybatus-plus这个框架里面使用自定义的sql语句。
假设我们有一个实体类 User,对应数据库中的 user 表。现在我们想要使用自定义SQL语句执行一些复杂查询,可以通过以下方式使用Mybatis-Plus:
- 首先在Mapper接口中添加自定义方法及其注解
@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层调用自定义方法
@Service public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService{ @Override public List<User> selectByName(String name) { return baseMapper.selectByName(name); } }
- 最后在controller层进行调用
@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语句完成复杂查询。