普通地说一下哈:便是实体类上的名字为model、data、time,我们在保存到json字符串中为m、d、t。别焦急,
[{ 34;username": "wang", "password": "123"}]
优化后:
[{ "u": "wang", "p": "123"}]
现在大家明白了吧!
!
json实体类:
import com.fasterxml.jackson.annotation.JsonProperty;import lombok.Data;@Datapublic class Json { @JsonProperty("u") private String username; @JsonProperty("p") private String password;}
保存数据库的实体类:
@Datapublic class Test implements Serializable { private static final long serialVersionUID = 337361630075002456L; @TableId(type= IdType.ASSIGN_ID) private long id; private String name; private String gender; private String data; private LocalDateTime createDate; private LocalDateTime updateDate;}
下面我们转json就可以保存到数据库了,转json的时候就会按照我们写的u和p进行保存的!
@RestController@RequestMapping("/test")@Slf4j@RequiredArgsConstructorpublic class TestController { private final TestService testService; @NonNull private TestMapper testMapper; @GetMapping("/update") public Result update() throws JsonProcessingException { List<Json> jsonList = new ArrayList<>(); Json json = new Json(); json.setPassword("123"); json.setUsername("wang"); jsonList.add(json); Json json1 = new Json(); json1.setPassword("456"); json1.setUsername("zhang"); jsonList.add(json1); // list转json String jsonString = new ObjectMapper().writeValueAsString(jsonList); Test test = new Test(); test.setName("小米"); test.setId(100); test.setData(jsonString); testMapper.insert(test); // json 转 list List<Json> list = new ObjectMapper().readValue(jsonString, new TypeReference<List<Json>>() { }); System.out.println(list); return Result.success("成功"); }}
如果对@RequiredArgsConstructor不理解的可以看一下
我们再看一下数据库里保存的:
六、总结
铛铛铛!
!
测试终于结束,恭喜大家学到新东西,本来会的就赶紧关掉页面!
有缘人才可以看得到的哦!
!
!
小王博客站