有两种方法。
第一种:先查询到update的对象,然后对对象中你需要更新的数据进行set后,再去执行save方法。
第二种:使用@Modifying和@Query的方法,这种方法对于刚刚认识jpa的人来说不太好理解,反正我是听了springboot+jpa几堂课之后,直接做项目的,对于这些都不太懂,所以个人认为第一种方法较为简单。
以下是第一种方法的代码:
contoller文件部分代码
@GetMapping("/add")
public Object add(
@RequestParam("name") String name,
@RequestParam("company") String company,
@RequestParam("mobile") String mobile,
@RequestParam("openid") String Openid,
@RequestParam("accesstoken") String accesstoken
){
System.out.println("accesstoken=" + accesstoken);
System.out.println("mobile=" + mobile);
System.out.println("company=" + company);
System.out.println("name=" + name);
System.out.println("openid=" + Openid);
tbregister tbregister=userDao.findByOpenid(Openid);
tbregister.setAccesstoken(accesstoken);
tbregister.setCompany(company);
tbregister.setName(name);
tbregister.setMobile(mobile);
userDao.save(tbregister);
return name;
}
@GetMapping("/UserInfo")
public String UserInfo(
@RequestParam("AvatarUrl") String AvatarUrl,
@RequestParam("Nickname") String Nickname,
@RequestParam("Province") String Province,
@RequestParam("City") String City,
@RequestParam("Country") String Country,
@RequestParam("Openid") String Openid,
@RequestParam("Gender") String Gender
)
{
System.out.println("AvatarUrl=" + AvatarUrl);
System.out.println("Nickname=" + Nickname);
System.out.println("Province=" + Province);
System.out.println("City=" + City);
System.out.println("Country=" + Country);
System.out.println("Openid=" + Openid);
System.out.println("Gender=" + Gender);
tbregister UserInfo=new tbregister();
UserInfo.setAvatarUrl(AvatarUrl);
UserInfo.setCity(City);
UserInfo.setCountry(Country);
UserInfo.setGender(Gender);
UserInfo.setNickname(Nickname);
UserInfo.setProvince(Province);
UserInfo.setOpenid(Openid);
userDao.save(UserInfo);
return City;
}
Dao层文件
package com.example.connect_tese_1.user;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
public interface UserDao extends JpaRepository <tbregister,Integer>{
tbregister findByOpenid(String openid);
}
其它文件就是实体类文件了。