@Transactional @Override public Blog updateBlog(Long id, Blog blog) { Blog b = blogRepository.findOne(id); if (b == null) { throw new NotFoundException("该博客不存在"); } //复制查询修对象 MyBeanUtils.getNullPropertyNames(blog)过滤属性值为空的 BeanUtils.copyProperties(blog,b, MyBeanUtils.getNullPropertyNames(blog)); b.setUpdateTime(new Date()); return blogRepository.save(b);
时间: 2023-06-20 16:08:50 浏览: 75
Spring @Transactional工作原理详解
这是一个使用Spring框架中的@Transactional注解实现的更新博客的方法。具体来说,它会根据传入的id查询数据库中的博客对象,如果博客对象不存在,则会抛出NotFoundException异常。如果博客存在,则会使用BeanUtils.copyProperties方法将传入的Blog对象的非空属性值复制到查询到的博客对象中,同时设置更新时间并保存更新后的博客对象。最终返回更新后的博客对象。
阅读全文