环境准备
Address.java
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Address implements JsonStringToObjectConverterFactory.JsonValue {
private String code;
private String detail;
}
- 实现接口
JsonStringToObjectConverterFactory.JsonValue
表示反序列化的时候,底层使用JsonUtils.toObject()
Project.java
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Project {
@Id
private Long id;
private Address address;
private List<Address> list;
}
测试
@Test
public void testSave() {
Project project = new Project();
project.setAddress(Address.builder().code("001").detail("苏州").build());
project.setList(Lists.newArrayList(Address.builder().code("001").detail("苏州").build()));
projectDAO.insert(project);
Assert.assertNotNull(project.getId());
}
@Test
public void testFindById() {
Optional<Project> optional = projectDAO.selectById(479411923147194368L);
Project project = optional.get();
Assert.assertEquals("001", project.getAddress().getCode());
Assert.assertEquals("001", project.getList().get(0).getCode());
}