Spring-Data-JPA 使用@Modifying修改(Modifying queries)

@Modifying去做数据更新

1、在UserDao上增加新方法

 

      /**
* 通过@Modifying结合@Query进行修改操作
*/
    @Modifying(clearAutomatically=true)
    @Transactional
    @Query("update User set name=:name, age=:age where id=:id") 

    void updateUserInfo(@Param("name") String name, @Param("age") Integer age, @Param("id") Integer id);

   注意:在使用@Modifying注解时,如果忘了加 @Transactional注解可能会报错。

 

2、在UserService上增加新方法

/**
*更新操作
*/
public void updateUserInfo(String name,Integer age,Integer id){
userDao.updateUserInfo(name, age, id);

}

       /**
* spring-data-jpa  自带更新操作
*/
public void updateUserInfo2(String name,Integer age,Integer id){
User one = userDao.getOne(id);
one.setName(name);
one.setAge(age);
userDao.saveAndFlush(one);
}

3、测试

      @Test
public void test9() {
userService.updateUserInfo("今天修改", 55, 1);
}
@Test
public void test10() {
userService.updateUserInfo2("今天修改222", 55, 1);
}

                                                                               微信公众号: 

                                               Spring-Data-JPA 使用@Modifying修改(Modifying queries)_第1张图片

                                                                             JAVA程序猿成长之路

                            分享资源,记录程序猿成长点滴。专注于Java,Spring,SpringBoot,SpringCloud,分布式,微服务。 

你可能感兴趣的:(spring-data-jpa,spring-boot,mysql)