CRUD
@Data
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
public interface UserMapper extends BaseMapper<User> {}
@SpringBootTest
public class SampleTest {
@Autowired
private UserMapper userMapper;
@Test
public void testSelect() {
List<User> userList = userMapper.selectList(null);
userList.forEach(System.out::println);
}
}
@Autowired
private UserMapper userMapper;
public void insertUser() {
User user = new User();
user.setName("张三");
user.setAge(18);
user.setEmail("zhangsan@example.com");
int result = userMapper.insert(user);
System.out.println("影响行数:" + result);
System.out.println("插入后ID:" + user.getId());
}
userMapper.deleteById(1L);
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("age", 18);
userMapper.delete(wrapper);
List<Long> ids = Arrays.asList(1L, 2L, 3L);
userMapper.deleteBatchIds(ids);
User user = new User();
user.setId(1L);
user.setName("李四");
user.setAge(20);
userMapper.updateById(user);
UpdateWrapper<User> wrapper = new UpdateWrapper<>();
wrapper.eq("name", "张三")
.set("age", 25);
userMapper.update(null, wrapper);
User user = new User();
user.setEmail("new@example.com");
UpdateWrapper<User> wrapper = new UpdateWrapper<>();
wrapper.eq("id", 1L);
userMapper.update(user, wrapper);
User user = userMapper.selectById(1L);
List<User> list = userMapper.selectList(null);
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("age", 18);
List<User> list = userMapper.selectList(wrapper);
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("name", "张三");
User user = userMapper.selectOne(wrapper);
Page<User> page = new Page<>(1, 10);
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.gt("age", 18);
Page<User> result = userMapper.selectPage(page, wrapper);
System.out.println(result.getRecords());
System.out.println(result.getTotal());
整体调用链路:Controller → Service → ServiceImpl → BaseMapper → SQL → DB
- GET /user/list 请求进来
- Controller 层:接收请求 + 返回响应
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/list")
public List<User> list() {
return userService.list();
}
}
- Service 层
public interface UserService extends IService<User> {
}
- ServiceImpl 层,类继承ServiceImpl实现类
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper,User> implements UserService {
}
- Mapper 层
public interface UserMapper extends BaseMapper<User> {
}
- 数据库(DB)
最终执行 SQL:
SELECT * FROM user;