1. 程式人生 > 程式設計 >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);
 }

到此這篇關於MyBatis-Plus 通用IService使用詳解的文章就介紹到這了,更多相關MyBatis-Plus 通用IService內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!