在mybatis-plus怎么使用自定义的sql语句

在mybatis-plus怎么使用自定义的sql语句

简介:本文讲解如何在mybatus-plus这个框架里面使用自定义的sql语句。

假设我们有一个实体类 User,对应数据库中的 user 表。现在我们想要使用自定义SQL语句执行一些复杂查询,可以通过以下方式使用Mybatis-Plus:

  1. 首先在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}

  1. 在Service层调用自定义方法
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService{
    
    
    @Override
    public List<User> selectByName(String name) {
    
    
        return baseMapper.selectByName(name);
    }
}
  1. 最后在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语句完成复杂查询。

猜你喜欢

转载自blog.csdn.net/qq_51447496/article/details/131166648