MybatisPlus—IService接口

2024-01-09 10:16:32

目录

1. IService接口介绍

2. IService接口的使用

3. 实例

4. 总结


1. IService接口介绍

????????MybatisPlus不仅提供了BaseMapper,还提供了通用的Service接口及默认实现,封装了一些常用的service模板方法。

MybatisPlus提供的通用接口为IService,默认实现为ServiceImpl。
其中封装的方法由前缀命名方式区分,可以分为以下几类:
save:? ? ?新增
remove删除
update更新
get:? ? ? 查询单个结果
list:? ? 查询集合结果
count:? 计数
page:? ? 分页查询

具体见:MyBatis-Plus/CRUD接口


2. IService接口的使用

????????由于Service中经常需要定义与业务有关的自定义方法,因此我们不能直接使用IService,而是自定义Service接口,然后继承IService以拓展方法。同时,让自定义的Service实现类继承ServiceImpl,这样就不用自己实现IService中的接口了。

首先,定义IUserService,继承IService

public interface UserService extends IService<User> {
    // 拓展自定义方法
}

然后,编写UserServiceImpl类,继承ServiceImpl,实现UserService

@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {

}


3. 实例

@SpringBootTest
class UserServiceTest {

    @Autowired
    UserService userService;

    //添加单条数据
    @Test
    void test1() {
        //1. 初始化数据
        User user = new User();
        user.setUsername("TomX");
        user.setPassword("123");
        user.setPhone("18688990010");
        user.setBalance(200);
        user.setInfo("{\"age\": 24, \"intro\": \"英文老师\", \"gender\": \"female\"}");
        user.setCreateTime(LocalDateTime.now());
        user.setUpdateTime(LocalDateTime.now());
        //2. 添加1条数据
        userService.save(user);
    }

    //查询多条数据
    @Test
    void test2() {
        List<User> users = userService.listByIds(List.of(1L, 2L, 4L));
        users.forEach(System.out::println);
    }

    //删除多条数据
    @Test
    void test3() {
        userService.removeBatchByIds(List.of(1L, 2L, 4L));
    }

}

4. 总结

文章来源:https://blog.csdn.net/aaa131420030415/article/details/135378294
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。