开发工具方法
JSON字符串转成带泛型的对象
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
// 定义泛型响应类
@Data
class Response<T> {
private T data;
private int code;
private String message;
}
// 示例实体类
@Data
class User {
private String name;
private int age;
}
public class Teset {
public static void main(String[] args) {
// 示例JSON字符串
String jsonStr = "{\"code\":200,\"message\":\"success\",\"data\":{\"name\":\"张三\",\"age\":30}}";
// 使用TypeReference指定泛型类型
Response<User> response = JSON.parseObject(jsonStr, new TypeReference<Response<User>>(){});
}
}
new TypeReference<Response
单元测试
@SpringBootTest(classes = UserService.class)
public class ApplicationTests {
@Autowired
private UserService userService;
@MockBean
private UserDao userDao;
@Test
public void testGetUserById() {
User mockUser = new User();
mockUser.setId("123");
mockUser.setUserType("Normal");
mockUser.setName("李四");
mockUser.setUserNameEN("Lee See");
mockUser.setBirthday(new Date());
mockUser.setAddress("湖北省");
mockUser.setCountryCode("CN");
Mockito.when(userDao.findById(123)).thenReturn(mockUser);
User result = userService.findUserById(123L);
Assertions.assertEquals("123", result.getId());
}
}
Mybatis
resultMap不是必须的,只需要把数据库字段名加个别名,跟类的字段名一致即可。
除非是有嵌套对象,或者集合对象,需要用resultMap处理。生成resultMap可以使用MybatisX。
Mybatis Log Plugin插件查看sql日志