【Mybatis-Plus學習筆記(九)】通用Service


本系列博客其他文章請點擊下方鏈接查看
【Mybatis-Plus學習筆記】目錄

基本方法

通用Service可以直接在Control層操作Service實體來實現增刪改查,太方便了!用來應付領導和產品經歷變幻莫測的需求,簡直不要不要的。

第一步:創建如下文件

public interface UserService extends IService<User> {
}
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
}

第二步:調用方法

很多方法都和BaseMapper使用方法相同。

視頻的作者着重講解了getOne函數,因為這個和BaseMapper中的selectOne還是有差距的。

        User user = userService.getOne(Wrappers.<User>lambdaQuery().gt(User::getAge, 25));

直接調用,查找出多個數據會報錯。如果在getOne的參數中傳入false,才能實現多個取第一個。如下:

        User user = userService.getOne(Wrappers.<User>lambdaQuery().gt(User::getAge, 25),false);

批量操作方法

saveOrUpdateBatch()和saveBatch()就是批量插入。傳入兩個參數,一個是操作的List,一個是插入數量限制(可選)。如果沒有設置插入數量,就是默認1000個。如何過程不報錯,返回ture。

User user = new User();
        user.setName("王一難");
        user.setAge(35);
        user.setEmail("wwn@baomidou.com");
        user.setManagerId(1088248166370832385L);
        user.setCreateTime(new Date());

        User user1 = new User();
        user1.setName("王二難");
        user1.setAge(35);
        user1.setEmail("wwn@baomidou.com");
        user1.setManagerId(1088248166370832385L);
        user1.setCreateTime(new Date());

        List<User> userList = Arrays.asList(user, user1);

        boolean insertFlag = userService.saveBatch(userList);

鏈式調用方法

List<User> userList = userService.lambdaQuery().eq(User::getName, "李藝偉").eq(User::getAge, 28).list();

比BaseMapper的更加好用, 因為做了封裝。
除了lambdaQuery還可以調用lambdaUpdate。值得一提的是lambdaUpdate的構造器可以調用remove方法進行刪除。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM