本系列博客其他文章請點擊下方鏈接查看
【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方法進行刪除。