历史文章(文章累计480+)
《国内最全的Spring Boot系列之一》
《国内最全的Spring Boot系列之二》
《国内最全的Spring Boot系列之三》
《国内最全的Spring Boot系列之四》
《国内最全的Spring Boot系列之五》
《国内最全的Spring Boot系列之六》
MyBatis-Plus快速实现增删改[MyBatis-Plus系列] - 第483篇
MyBatis-Plus实现普通查询/分页查询[MyBatis-Plus系列] - 第484篇
使用LambdaQueryWrapper再也不担心字段拼写错误了 [MyBatis-Plus系列] - 第485篇
表名注解/主键注解/字段注解/乐观锁注解[MyBatis-Plus系列] - 第486篇
悟纤:师傅,你说何为相处舒服?
师傅:两个人相处的最佳状态,就是在一起很舒服,你可以做你想做的任何事情,不用去掩饰;不用去担心会在他(她)面前出丑;说话可以不过大脑;即使两个人在一起什么都不说也不会感觉尴尬。
悟纤:那么,怎么才可以让两个人相处感觉舒服呢?
师傅:产生幸福感:两个人在一起,无论在何时何地、在做什么,都能感觉到发自内心的幸福和安心。有的时候甚至是只要想起他(她),嘴角就会不自觉的上扬。
师傅:乐于付出:两个人愿意不求回报的为对方付出,当然这个付出不是言情剧里狗血的牺牲。主要是指在相处中愿意为对方做更多的事情,比如:主动承担家务、共同面对困难、生病时悉心照料陪伴等,体贴的为对方承担一部分风雨并不求回报。
师傅:共同进步:两个人在一起一种最佳的状态就是:一起努力,共同进步。愿意为了对方使自己变得更加优秀、更加强大,并能够相互匹配得上对方的优秀。只有双方前进的步伐一致,关系才能走的更远。
师傅:还有就是所谓的三观相近、为对方着想等等。
悟纤:师傅,感觉真是活到老,学到老,还有好多没学了。
师傅:学习永无止境…
悟纤:有师傅真好~ 和师傅相处就是舒服!
导读
Hi,大家好,我是悟纤。过着爱谁谁的生活,活出不设限的人生。
在前面学习了BaseMapper封装了常见的数据库增删改查操作,在实际的项目中,控制层并不会直接操作数据层,中间还有一层服务层,所以对于服务层的增删改查操作,MyBatis-Plus进行了封装:通用 Service CRUD 封装IService接口。
👇🏻👇🏻👇🏻EasyPoi实战系列:
01.《MyBatis-Plus是什么以及特性[MyBatis-Plus系列]》
02.《MyBatis-Plus快速开始 [MyBatis-Plus系列]》
03.《MyBatis-Plus快速实现增删改 [MyBatis-Plus系列]》
04.《MyBatis-Plus实现普通查询/分页查询[MyBatis-Plus系列]》
05.《使用LambdaQueryWrapper再也不担心字段拼写错误了 [MyBatis-Plus系列]》
06.《表名注解/主键注解/字段注解/乐观锁注解[MyBatis-Plus系列]》
一、Service CRUD实操
通用 Service CRUD 封装IService 接口,进一步封装 CRUD 采用 get 查询单行 remove 删除 list 查询集合 page 分页 前缀命名方式区分 Mapper 层避免混淆。
建议如果存在自定义通用 Service 方法的可能,请创建自己的 IBaseService 继承 Mybatis-Plus 提供的基类。
那具体如何进行使用呢?我们拿之前的User(UserMapper)来进行讲解。
1.1 service接口继承IService
定义服务接口UserService,并且继承接口IService:
package com.kfit.user.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.kfit.user.model.User;
/**
* author:悟纤「公众号SpringBoot」
* date:2023/9/7
*/
public interface UserService extends IService<User> {
}
1.2 service实现类继承ServiceImpl
定义服务接口UserService的实现类UserServiceImpl,并且继承实现类ServiceImpl:
package com.kfit.user.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.kfit.user.mapper.UserMapper;
import com.kfit.user.model.User;
import com.kfit.user.service.UserService;
import org.springframework.stereotype.Service;
/**
* author:悟纤「公众号SpringBoot」
* date:2023/9/7
*/
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
}
1.3测试UserService
到这里就可以测试UserService了,因为已经具备了常规的增删改查方法:
package com.kfit;
import com.kfit.user.model.User;
import com.kfit.user.service.UserService;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
/**
* author:悟纤「公众号SpringBoot」
* date:2023/9/7
*/
@SpringBootTest
public class UserServiceTest {
@Autowired
private UserService userService;
@Test
public void testSave(){
User user = new User();
user.setName("悟纤2023");
user.setEmail("bb@qq.com");
userService.save(user);
}
@Test
public void testUpdate(){
User user = new User();
user.setId(1L);
user.setName("Jone 2023");
userService.updateById(user);
}
}
其它的方法,可以根据需要进行了解,常见的操作基本上都有了。
小结
本文主要介绍了Service层的CRUD,大体的使用思路是:
(1)service接口继承IService:定义一个接口如UserService,继承接口IService<T>
(2)service实现类继承ServiceImpl:定义服务接口UserService的实现类UserServiceImpl,并且继承实现类ServiceImpl。
点赞、转发、评论,伸出你的双手666…
你就是你,不一样的小蚂蚁!
我就是我,是颜色不一样的烟火。
我就是我,是与众不同的小苹果。
à悟纤学院:https://t.cn/Rg3fKJD
学院中有Spring Boot相关的课程!点击「阅读原文」进行查看!
SpringBoot视频:http://t.cn/A6ZagYTi
SpringBoot交流平台:https://t.cn/R3QDhU0
SpringSecurity5.0视频:http://t.cn/A6ZadMBe
ShardingJDBC分库分表:http://t.cn/A6ZarrqS
分布式事务解决方案:http://t.cn/A6ZaBnIr
JVM内存模型调优实战:http://t.cn/A6wWMVqG
Spring入门到精通:https://t.cn/A6bFcDh4
大话设计模式之爱你:https://dwz.cn/wqO0MAy7