/**
* 通过@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注解可能会报错。
/**
*更新操作
*/
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);
}
JAVA程序猿成长之路
分享学习资源,学习方法,记录程序员生活。