1.条件更新指定字段
UpdateWrapper<ExamParticipation> updateWrapper = new UpdateWrapper<>();
updateWrapper.lambda()
.eq(ExamParticipation::getId, id)
.set(ExamParticipation::getField1, value1)
.set(ExamParticipation::getField2, value2)
.set(ExamParticipation::getField3, value3);
int rows = examParticipationMapper.update(null, updateWrapper);
2.条件批量更新
List<Long> ids = Arrays.asList(1L, 2L, 3L);
List<String> values = Arrays.asList("value1", "value2", "value3");
UpdateWrapper<ExamParticipation> updateWrapper = new UpdateWrapper<>();
updateWrapper.lambda()
.in(ExamParticipation::getId, ids)
.set(ExamParticipation::getField1, values);
int rows = examParticipationMapper.update(null, updateWrapper);
3.批量新增
List<ExamParticipation> examParticipations = new ArrayList<>();
examParticipations.add(new ExamParticipation(field1, field2, field3));
examParticipations.add(new ExamParticipation(field1, field2, field3));
examParticipations.add(new ExamParticipation(field1, field2, field3));
boolean success = examParticipationService.saveBatch(examParticipations);
4.批量新增部分字段
另外,如果你只想新增部分字段,可以使用 saveBatchSomeColumn 方法,
List<ExamParticipation> examParticipations = new ArrayList<>();
examParticipations.add(new ExamParticipation(field1, field2, field3));
examParticipations.add(new ExamParticipation(field1, field2, field3));
examParticipations.add(new ExamParticipation(field1, field2, field3));
boolean success = examParticipationService.saveBatchSomeColumn(examParticipations);
5.联表查询
public List<Order> getOrdersWithUser() {
return orderMapper.selectList(new QueryWrapper<Order>()
.select("order.*", "user.user_name")
.leftJoin("user", "user.id = order.user_id")
.eq("order.status", "paid")
);
}