工作日常的记录
在idea中安装Mybatis X 和 Mybatis Log插件
- 下载Mybatis X插件,打开idea的settings设置,找到plugins,搜索MyBatis X,点击install进行下载。
-
下载Mybatis Log插件,现在idea中安装Mybatis Log插件需要破解,点如下链接进行下载:
链接: https://pan.baidu.com/s/1V24NMk4VQodlMcJQ5u2zuQ 密码: fb0r
下载成功之后,点击图上所示区域,然后选择通过以上链接下载好的jar文件,点击确定,重启idea。
重启idea之后,在配置文件中添加如下配置:
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
至此,mybatis log安装成功,在程序运行时,便可查看对应的sql语句的log了。
使用jackson序列化深拷贝对象(泛型)
//使用jackson序列化深拷贝List对象
public static <T,E> List<E> paramList2EntityList(List<T> t,Class<E> e) {
List<E> entities = new ArrayList<>();
for(T param : t) {
ObjectMapper objectMapper = new ObjectMapper();
try {
E entity = objectMapper.readValue(objectMapper.writeValueAsString(param),e);
entities.add(entity);
} catch (JsonProcessingException ex) {
ex.printStackTrace();
}
}
return entities;
}
//单一深拷贝
public static <T, E> E param2Entity(T t, Class<E> e) {
ObjectMapper objectMapper = new ObjectMapper();
try {
E entity = objectMapper.readValue(objectMapper.writeValueAsString(t), e);
return entity;
} catch (JsonProcessingException ex) {
ex.printStackTrace();
}
return null;
}
注意:深拷贝时如果源对象和目标对象是不同的类,要保证源对象和目标对象的变量的数量,名称,数据类型一致。
List 倒序
//反转List(倒序排列)
Collections.reverse(investmentList);
List按指定字段排序
/**
* 加上.reversed()时是倒序,反之亦反
*/
Collections.sort(investmentList,Comparator.comparingLong(Investment::getCreateTime); //升序
investmentList.sort(Comparator.comparingLong(Investment::getCreateTime)); //升序
Collections.sort(investmentList,Comparator.comparingLong(Investment::getCreateTime).reversed()); //降序
investmentList.sort(Comparator.comparingLong(Investment::getCreateTime).reversed()); //降序
//多字段排序可以用thenComparing
Collections.sort(investmentList,Comparator.comparingLong(Investment::getCreateTime).thenComparing(Rounds::getName).reversed()); //时间升序,名称降序