详解关于mybatis-plus中Service和Mapper的分析
什么是mybatis-plus
mybatis-plus是MyBatis的增强工具,在MyBatis的基础上扩展了许多实用的功能,使得与数据库的交互变得更加方便快捷。
Mapper和Service的作用
在mybatis-plus中,Mapper的作用与MyBatis中的Mapper相同,用于与数据库进行交互,完成数据的增删改查等基本操作。而Service则是将Mapper的功能进行进一步封装,使其能够更方便地使用。
Service的使用
Service的使用步骤如下:
- 创建Service接口,继承IService
,其中T表示实体类的类型。
public interface UserService extends IService<User> {
}
- 创建Service接口的实现类,实现Service接口。
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
}
其中,UserMapper是mybatis-plus自动生成的Mapper接口,用于对User对象进行数据库操作。
- 在Controller中注入UserService,进行调用。
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/{id}")
public User getUserById(@PathVariable("id") Long id) {
return userService.getById(id);
}
}
通过@Autowired注解注入UserService,即可在Controller中使用UserService提供的方法,完成与数据库的交互。
Mapper的使用
Mapper的使用与MyBatis中的使用方法相同,不再进行详细介绍。
下面给出两个mybatis-plus中常用的Mapper方法的示例。
分页查询
Page<User> page = new Page<>(1, 10);
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.lambda().eq(User::getStatus, 1);
IPage<User> userPage = userService.page(page, wrapper);
Page对象用于封装分页的相关信息,其中1表示当前页码,10表示每页展示的数量。QueryWrapper用于封装查询条件,上述代码表示查询状态为1的用户信息。
批量插入
List<User> userList = new ArrayList<>();
User user1 = new User();
user1.setName("张三");
user1.setAge(18);
userList.add(user1);
User user2 = new User();
user2.setName("李四");
user2.setAge(20);
userList.add(user2);
userService.saveBatch(userList);
saveBatch方法用于批量插入数据,上述代码将userList中的数据批量插入到数据库中。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解关于mybatis-plus中Service和Mapper的分析 - Python技术站