开发工具方法

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>() { } 是匿名内部类的写法,调用了TypeReference的protected构造器

单元测试

@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日志

posted @ 2025-05-18 22:43  狭路相逢  阅读(28)  评论(0)    收藏  举报