基于CSS3的3D立方体旋转动画

JPA实现数据的更新操作

JPA实现数据的更新操作

entity

@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
@DynamicInsert
@DynamicUpdate
@Access(AccessType.FIELD)
@Table(catalog = "sc", name = "t_student")
public class Student {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id")
    private Integer id;

    @Column(name = "name")
    private String name;

    @Column(name = "age")
    private Integer age;
}

方式一 : 通过 jpa提供的save方法实现更新

repository

public interface StudentRepository extends JpaRepository<Student,Integer> {
}

StudentServiceImpl

@Service
public class StudentServiceImpl implements StudentService {

    @Autowired
    private StudentRepository studentRepository;

    @Override
    public void updateStudent(StudentDto studentDto) {
        // 前提: 能通过id查找到对应行数据
        Optional<Student> op = studentRepository.findById(studentDto.getId());
        op.ifPresent(student -> {
            student.setName("newName");
            studentRepository.save(student);
        });
    }
}

方式二: 通过jql实现更新

repository

@Repository
public interface StudentRepository extends JpaRepository<Student, Integer> {

    @Transactional // 数据修改和删除,需要显示声明事务 ,直接在接口方法上添加注解 或者在调用的方法上添加注解
    @Modifying
    @Query("update Student s set s.name =:name where s.id=:id")
    void updateStudent(String name, Integer id);// 注意:定义更新方法 返回值只能是void或者int,不然会报错
}

StudentServiceImpl

@Service
public class StudentServiceImpl implements StudentService {

    @Autowired
    private StudentRepository studentRepository;

    @Override
    public void updateStudent(StudentDto studentDto) {
        studentRepository.updateStudent("newName2",studentDto.getId());
    }
}
posted @   只会写error  阅读(1766)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
点击右上角即可分享
微信分享提示