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

工作日常的记录
在idea中安装Mybatis X 和 Mybatis Log插件
  1. 下载Mybatis X插件,打开idea的settings设置,找到plugins,搜索MyBatis X,点击install进行下载。
    在这里插入图片描述
  2. 下载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());  //时间升序,名称降序
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值