iservice list方法_MyBatis-Plus 通用IService使用详解

一、引言

MP除了通用的Mapper还是通用的Servcie层,这也减少了相对应的代码工作量,把通用的接口提取到公共。其实按照MP的这种思想,可以自己也实现一些通用的Controller。

今天是周天,作为一名码农来说,这里小编提醒大家周末有空还是多出去运动一下。

生命在于运动,生命诚可贵。

二、 小编瞎扯

相信有和小编一样的朋友,在大城市独自漂泊,感觉就凭借自己内心那一点点的火苗,想要燃烧起来。

小编在上海这些年,不慌也不忙,从开始每天厌恶工作,到现在开开心心的上班,回顾自己的成长除了存款,其他倒是成长了不少。在今年小编做了自己很多想做的事,虽然钱花了,但是感觉完成了多年自己的心愿,还是很有成就感的。

所以各位程序员的小伙伴,好好享受生活、多和家人联系沟通,过好每一天。

这一段和本章没有任何关系。

三、IService使用

service层需要继承IService,当然实现层也要继承对应的实现类。

/**

*

* 用户 服务类

*

*

* @author IT贱男

* @since 2019-06-14

*/

public interface UserService extends IService {

}

/**

*

* 用户 服务实现类

*

*

* @author IT贱男

* @since 2019-06-14

*/

@Service

public class UserServiceImpl extends ServiceImpl implements UserService {

}

这里小编基本的增删改查就不一一演示了,演示几个特殊一点的方法。

getOne(),这个是方法返回结果不止一条则会抛出异常,如果想默认取第一条结果,可以给这方法传第二个参数为false。

@Test

public void getOne() {

User one = userService.getOne(Wrappers.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 users = Arrays.asList(user1, user2);

boolean b = userService.saveOrUpdateBatch(users);

System.out.println(b);

}

接下来说一下基于lambda的相关操作

/**

* lombda查询

*/

@Test

public void lambdaQuery(){

List 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);

}

到此这篇关于MyBatis-Plus 通用IService使用详解的文章就介绍到这了,更多相关MyBatis-Plus 通用IService内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

本文标题: MyBatis-Plus 通用IService使用详解

本文地址: http://www.cppcns.com/ruanjian/java/337668.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
IServicelist方法通常用于获取某个资源的列表。具体实现方式可能因不同的框架或语言而异,但通常具备以下特征: 1. 参数:list方法通常需要传入一些参数来指定查询条件,例如查询的页码、每页显示的数量、筛选条件等。 2. 返回值:list方法通常会返回一个列表,其中包含了符合查询条件的资源对象。这些对象可能是数据库中的实体对象,也可以是其他类型的对象。 3. 异常处理:由于查询可能会出现各种错误,list方法通常需要进行异常处理,例如当传入的参数不合法时,应该抛出异常提示客户端。 以下是一个伪代码示例,展示了IServicelist方法可能的实现方式: ``` interface IService<T> { List<T> list(int page, int pageSize, Map<String, Object> filters) throws ServiceException; } class UserService implements IService<User> { @Override public List<User> list(int page, int pageSize, Map<String, Object> filters) throws ServiceException { // 根据传入的参数,查询并返回用户列表 List<User> userList = userRepository.list(page, pageSize, filters); return userList; } } ``` 在上述示例中,UserService实现了IService接口,并实现了list方法。该方法接受三个参数:page(页码)、pageSize(每页显示的数量)和filters(筛选条件)。在方法内部,它通过调用userRepository的list方法,从数据库中获取符合条件的用户列表,并将其返回给调用方。如果查询失败,则抛出ServiceException异常。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值