一、deleteById(通过id进行单条删除)
Service层中添加deleteById方法(deleteById是三方件自带接口不需要再dao层中添加)
@Transactional
public void deleteById(Integer id){
userDao.deleteById(id);
}
control层
/**
* 通过id进行删除数据
* @param id
*/
@GetMapping("/deleteById")
public void deleteById(Integer id){
userService.deleteById(id);
}
删除id为20的名单,测试成功!
后台执行了两条sql,先进行select再进行delete
二、deleteAllById(通过id进行批量删除)
Service层中添加deleteAllById方法(deleteAllById是三方件自带接口不需要再dao层中添加)
@Transactional
public void deleteAllById(Iterable ids){
userDao.deleteAllById(ids);
}
control层
/**
* 通过id进行批量删除
* @param ids
*/
@GetMapping("/deleteAllById")
public void deleteAllById(Integer[] ids){
userService.deleteAllById(Arrays.asList(ids));
}
删除id为18和19的名单,测试成功!
后台执行了四条sql,逐条进行select然后进行delete
三、deleteAllByIdInBatch(通过id进行批量删除)
Service层中添加deleteAllByIdInBatch方法(deleteAllByIdInBatch是三方件自带接口不需要再dao层中添加)
@Transactional
public void deleteAllByIdInBatch(Iterable ids){
userDao.deleteAllByIdInBatch(ids);
}
control层
/**
* 通过id进行批量删除
* @param ids
*/
@GetMapping("/deleteAllByIdInBatch")
public void deleteAllByIdInBatch(Integer[] ids){
userService.deleteAllByIdInBatch(Arrays.asList(ids));
}
删除id为14,17的名单,测试成功!
后台只进行了一条sql,这个应该比deleteAllById性能高一点吧(还没有测试过)
四、deleteAllInBatch(删除所有数据)
Service层中添加deleteAllInBatch方法(deleteAllInBatch是三方件自带接口不需要再dao层中添加)
@Transactional
public void deleteAllInBatch(){
userDao.deleteAllInBatch();
}
control层
/**
* 删除所有数据
*/
@GetMapping("/deleteAllInBatch")
public void deleteAllInBatch(){
userService.deleteAllInBatch();
}
测试成功!
后台只有一行sql
五、deleteAll(删除所有数据)
Service层中添加deleteAll方法(deleteAll是三方件自带接口不需要再dao层中添加)
@Transactional
public void deleteAll(){
userDao.deleteAll();
}
control层
/**
* 删除所有数据
*/
@GetMapping("/deleteAll")
public void deleteAll(){
userService.deleteAll();
}
测试成功!
后台执行了7个sql,性能应该不如上一个deleteAllInBatch