天天看点

工作中用到的一些琐碎知识(Mybatis日志打印)

工作日常的记录

在idea中安装Mybatis X 和 Mybatis Log插件

  1. 下载Mybatis X插件,打开idea的settings设置,找到plugins,搜索MyBatis X,点击install进行下载。
    工作中用到的一些琐碎知识(Mybatis日志打印)
  2. 下载Mybatis Log插件,现在idea中安装Mybatis Log插件需要破解,点如下链接进行下载:

    链接: https://pan.baidu.com/s/1V24NMk4VQodlMcJQ5u2zuQ 密码: fb0r

    下载成功之后,点击图上所示区域,然后选择通过以上链接下载好的jar文件,点击确定,重启idea。

    工作中用到的一些琐碎知识(Mybatis日志打印)
    重启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());  //时间升序,名称降序