@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);
}

微信公众号 

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐