电子商务网站建设可运用的技术,网站无障碍的建设方面空缺,公司网站建设哪儿济南兴田德润实惠吗,上海发布微博文章目录 5.1 MP封装Service介绍5.1.1 说明5.1.2 实现流程5.1.3 核心API介绍 5.2 MP封装Service快速入门5.2.1 定义服务扩展接口5.2.2 定义服务实现5.2.3 测试测试 5.3 MP封装Service实现CRUD操作 5.1 MP封装Service介绍
5.1.1 说明
MybatisPlus为了开发更加快捷#xff0c;… 文章目录 5.1 MP封装Service介绍5.1.1 说明5.1.2 实现流程5.1.3 核心API介绍 5.2 MP封装Service快速入门5.2.1 定义服务扩展接口5.2.2 定义服务实现5.2.3 测试测试 5.3 MP封装Service实现CRUD操作 5.1 MP封装Service介绍
5.1.1 说明
MybatisPlus为了开发更加快捷对业务层也进行了封装直接提供了相关的接口和实现类; 我们在进行业务层开发时可以继承它提供的接口和实现类使得编码更加高效;
5.1.2 实现流程
定义一个服务扩展接口,该接口继承公共接口IService;定义一个服务实现类该类继承ServiceImplMapperEntity,并实现自定义的扩展接口; 注意事项 1.ServiceImpl父类已经注入了UserMapper对象名称叫做baseMapper所以当前实现类直接可以使用baseMapper完成操作 2.因为ServiceImpl已经实现了IService下的方法所以当前服务类没有必要再次实现 思想共性的业务代码交给框架封装维护非共性的业务在接口UserService定义然后在当前的服务类下实现 5.1.3 核心API介绍 5.2 MP封装Service快速入门
代码实现
5.2.1 定义服务扩展接口
//在公共接口的基础上扩展
public interface UserService extends IServiceUser {
}5.2.2 定义服务实现
Service
public class UserServiceImpl extends ServiceImplUserMapper, User implements UserService {}5.2.3 测试测试
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.omg.PortableInterceptor.USER_EXCEPTION;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;import java.util.Arrays;
import java.util.HashMap;
import java.util.List;/*** Description* Created by itheima*/
SpringBootTest
public class MpTestService {Autowiredprivate UserService userService;/*** Description 测试查询操作 根据id查询*/Testpublic void test1(){User user userService.getById(3l);System.out.println(user);}
}5.3 MP封装Service实现CRUD操作
服务层API的封装大致与持久层一致 /*** Description 测试条件查询且仅返回一个* getOne:sql查询的结果必须为1条或者没有否则报错 */Testpublic void test2(){LambdaQueryWrapperUser wrapper Wrappers.lambdaQuery(User.class);wrapper.gt(User::getAge,20);User one userService.getOne(wrapper);System.out.println(one);}/*** Description 根据条件批量查询*/Testpublic void test3(){LambdaQueryWrapperUser wrapper Wrappers.lambdaQuery(User.class);wrapper.gt(User::getAge,20);ListUser list userService.list(wrapper);System.out.println(list);}/*** Description 根据条件批量查询并分页*/Testpublic void test4(){LambdaQueryWrapperUser wrapper Wrappers.lambdaQuery(User.class);wrapper.gt(User::getAge,20);//构建分页对象IPageUser pagenew Page(2,3);userService.page(page,wrapper);System.out.println(page.getRecords());System.out.println(page.getPages());System.out.println(page.getTotal());}/*** Description 测试服务层save保存单条操作*/Testpublic void test5(){User user1 User.builder().name(wangwu).userName(laowang4).email(444163.com).age(20).password(333).build();boolean isSuccess userService.save(user1);System.out.println(isSuccess?保存成功:保存失败);}/*** Description 测试服务层批量保存*/Testpublic void test6(){User user2 User.builder().name(wangwu2).userName(laowang2).email(444163.com).age(20).password(333).build();User user3 User.builder().name(wangwu3).userName(laowang3).email(444163.com).age(20).password(333).build();boolean isSuccess userService.saveBatch(Arrays.asList(user2, user3));System.out.println(isSuccess?保存成功:保存失败);}/*** Description 根据id删除操作*/Testpublic void test7(){boolean isSuccess userService.removeById(17l);System.out.println(isSuccess?保存成功:保存失败);}/*** Description 根据条件批量删除*/Testpublic void test8(){LambdaQueryWrapperUser wrapper Wrappers.lambdaQuery(User.class);wrapper.gt(User::getId,12).gt(User::getAge,20);boolean remove userService.remove(wrapper);System.out.println(remove);}/*** Description 测试根据id更新数据*/Testpublic void test9(){//UPDATE tb_user SET password?, t_name? WHERE id?User user2 User.builder().name(wangwu2).password(333).id(3l).build();boolean success userService.updateById(user2);System.out.println(success);}/*** Description 测试根据条件批量更新*/Testpublic void test10(){LambdaUpdateWrapperUser wrapper Wrappers.lambdaUpdate(User.class);//UPDATE tb_user SET age? WHERE (id IN (?,?,?))wrapper.in(User::getId,Arrays.asList(1l,3l,5l)).set(User::getAge,40);boolean update userService.update(wrapper);System.out.println(userService);}