一、引言
MP除了通用的Mapper還是通用的Servcie層,這也減少了相對應的代碼工作量,把通用的接口提取到公共。其實按照MP的這種思想,可以自己也實現一些通用的Controller。
今天是周天,作為一名碼農來說,這里小編提醒大家周末有空還是多出去運動一下。
生命在于運動,生命誠可貴。
二、 小編瞎扯
相信有和小編一樣的朋友,在大城市獨自漂泊,感覺就憑借自己內心那一點點的火苗,想要燃燒起來。
小編在上海這些年,不慌也不忙,從開始每天厭惡工作,到現在開開心心的上班,回顧自己的成長除了存款,其他倒是成長了不少。在今年小編做了自己很多想做的事,雖然錢花了,但是感覺完成了多年自己的心愿,還是很有成就感的。
所以各位程序員的小伙伴,好好享受生活、多和家人聯系溝通,過好每一天。
這一段和本章沒有任何關系。
三、IService使用
service層需要繼承IService,當然實現層也要繼承對應的實現類。
1
2
3
4
5
6
7
8
9
10
11
|
/** * <p> * 用戶 服務類 * </p> * * @author IT賤男 * @since 2019-06-14 */ public interface UserService extends IService<User> { } |
1
2
3
4
5
6
7
8
9
10
11
12
|
/** * <p> * 用戶 服務實現類 * </p> * * @author IT賤男 * @since 2019-06-14 */ @Service public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService { } |
這里小編基本的增刪改查就不一一演示了,演示幾個特殊一點的方法。
getOne(),這個是方法返回結果不止一條則會拋出異常,如果想默認取第一條結果,可以給這方法傳第二個參數為false。
1
2
3
4
5
|
@Test public void getOne() { User one = userService.getOne(Wrappers.<User>lambdaQuery().eq(User::getAge, 31 ), false ); System.out.println(one); } |
saveOrUpdateBatch(),批量新增或者修改方法,判斷ID是否存在,如果ID不存在執行新增,如果ID存在先執行查詢語句,查詢結果為空新增,否則修改。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
@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的相關操作
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
/** * 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內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://blog.csdn.net/weixin_38111957/article/details/92415413