@Service
@Slf4j
@Transactional(readOnly = true)
public class LikeServiceImpl implements LikeService {
@Autowired
private LikeMapper likeMapper;
@Override
@Transactional(readOnly = false)
public void saveOrDeleteAll() {
}
@Override
public List<UserLike> getAll(){
return likeMapper.getAll();
}
@Transactional(readOnly = false)
@Override
public void update(UserLike userLike){
likeMapper.update(userLike);
}
}
@SpringBootTest
class LikeServiceImplTest {
@Autowired
LikeService likeService;
@Test
void saveOrDeleteAll() {
likeService.saveOrDeleteAll();
}
@Test
void getAll() throws InterruptedException {
System.out.println(likeService.getAll());
Thread.sleep(20000);
System.out.println(likeService.getAll());
}
@Test
void update() {
UserLike userLike = new UserLike();
userLike.setLikeId(10101L);
userLike.setType(0);
likeService.update(userLike);
}
}
readOnly = true 表示只能用作只读,如果操作里有增删改则会报错
readOnly = false 用作增删改
在上面测试案例中,我先查询,在停20秒期间做数据库修改,再查,查出来的数据是修改后的数据。