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); }
更多操作
更多操作請移至官網查看:https://mp.baomidou.com/guide/crud-interface.html#service-crud-接口