MyBatis-Plus 通用IService MyBatis-Plus 通用IService使用详解
IT贱男 人气:0想了解MyBatis-Plus 通用IService使用详解的相关内容吗,IT贱男在本文为您仔细讲解MyBatis-Plus 通用IService的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:MyBatis-Plus通用IService,MyBatis-Plus,IService,下面大家一起来学习吧。
一、引言
MP除了通用的Mapper还是通用的Servcie层,这也减少了相对应的代码工作量,把通用的接口提取到公共。其实按照MP的这种思想,可以自己也实现一些通用的Controller。
今天是周天,作为一名码农来说,这里小编提醒大家周末有空还是多出去运动一下。
生命在于运动,生命诚可贵。
二、 小编瞎扯
相信有和小编一样的朋友,在大城市独自漂泊,感觉就凭借自己内心那一点点的火苗,想要燃烧起来。
小编在上海这些年,不慌也不忙,从开始每天厌恶工作,到现在开开心心的上班,回顾自己的成长除了存款,其他倒是成长了不少。在今年小编做了自己很多想做的事,虽然钱花了,但是感觉完成了多年自己的心愿,还是很有成就感的。
所以各位程序员的小伙伴,好好享受生活、多和家人联系沟通,过好每一天。
这一段和本章没有任何关系。
三、IService使用
service层需要继承IService,当然实现层也要继承对应的实现类。
/** * <p> * 用户 服务类 * </p> * * @author IT贱男 * @since 2019-06-14 */ public interface UserService extends IService<User> { }
/** * <p> * 用户 服务实现类 * </p> * * @author IT贱男 * @since 2019-06-14 */ @Service public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService { }
这里小编基本的增删改查就不一一演示了,演示几个特殊一点的方法。
getOne(),这个是方法返回结果不止一条则会抛出异常,如果想默认取第一条结果,可以给这方法传第二个参数为false。
@Test public void getOne() { User one = userService.getOne(Wrappers.<User>lambdaQuery().eq(User::getAge, 31),false); System.out.println(one); }
saveOrUpdateBatch(),批量新增或者修改方法,判断ID是否存在,如果ID不存在执行新增,如果ID存在先执行查询语句,查询结果为空新增,否则修改。
@Test public void saveOrUpdateBatch() { User user1 = new User(); user1.setName("兔子"); user1.setAge(18); User user2 = new User(); user2.setId(1088250446457389060L); user2.setName("乌龟"); user2.setAge(18); List<User> users = Arrays.asList(user1, user2); boolean b = userService.saveOrUpdateBatch(users); System.out.println(b); }
接下来说一下基于lambda的相关操作
/** * lombda查询 */ @Test public void lambdaQuery(){ List<User> list = userService.lambdaQuery().eq(User::getAge, 18).list(); list.forEach(System.out::println); } /** * lombda修改 */ @Test public void lambdaUpdate(){ boolean update = userService.lambdaUpdate().eq(User::getAge, 18).set(User::getAge, 31).update(); System.out.println(update); } /** * lombda删除 */ @Test public void lambdaRemoce(){ boolean remove = userService.lambdaUpdate().eq(User::getAge, 18).remove(); System.out.println(remove); }
加载全部内容