微服务是一种软件架构风格,它是以专注于单一职责的很多小型项目为基础,组合出复杂的大型应用。
快速入门
入门案例
需求:基于课前资料提供的项目,实现下列功能:
- 新增用户功能
- 根据id查询用户
- 根据id批量查询用户
- 根据id更新用户
- 根据id删除用户
1.引入MybatisPlus的起步依赖
MyBatisPlus官方提供了starter,其中集成了Mybatis和MybatisPlus的所有功能,并且实现了自动装配效果。
因此我们可以用MybatisPlus的starter代替Mybatis的starter:
2.定义Mapper
自定义的Mapper继承MybatisPlus提供的BaseMapper接口:
1.继承MybatisPlus
public interface UserMapper extends BaseMapper<User> { // void saveUser(User user); // // void deleteUser(Long id); // // void updateUser(User user); // // User queryUserById(@Param("id") Long id); // // List<User> queryUserByIds(@Param("ids") List<Long> ids); }2.测试增删改查
package com.itheima.mp.mapper; import com.itheima.mp.domain.po.User; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import java.time.LocalDateTime; import java.util.List; @SpringBootTest class UserMapperTest { @Autowired private UserMapper userMapper; @Test void testInsert() { User user = new User(); user.setId(5L); user.setUsername("Lucy"); user.setPassword("123"); user.setPhone("18688990011"); user.setBalance(200); user.setInfo("{\"age\": 24, \"intro\": \"英文老师\", \"gender\": \"female\"}"); user.setCreateTime(LocalDateTime.now()); user.setUpdateTime(LocalDateTime.now()); // userMapper.saveUser(user); userMapper.insert(user); } @Test void testSelectById() { // User user = userMapper.queryUserById(5L); User user = userMapper.selectById(5L); System.out.println("user = " + user); } @Test void testQueryByIds() { // List<User> users = userMapper.queryUserByIds(List.of(1L, 2L, 3L, 4L)); List<User> users = userMapper.selectBatchIds(List.of(1L, 2L, 3L, 4L)); users.forEach(System.out::println); } @Test void testUpdateById() { User user = new User(); user.setId(5L); user.setBalance(20000); // userMapper.updateUser(user); userMapper.updateById(user); } @Test void testDeleteUser() { // userMapper.deleteUser(5L); userMapper.deleteById(5L); } }