你貌似开启了广告屏蔽插件... 写博客不容易,希望能将广告过滤去掉,谢谢!

Java集合排序,字段为空的排在前面

2020-03-30   朋也   java学习笔记   java  

需求:如果跟第三方调接口时,拿回来的列表数据中有的字段是空的,这时候是需要人工处理的,怎么让空的(null,”“)字段的数据展示在最前面?

实现:

class Demo {
    Integer id;
    String name;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Demo(Integer id, String name) {
        this.id = id;
        this.name = name;
    }
}

@Test
public void test3() {
    List<Demo> demos = new ArrayList<>();
    demos.add(new Demo(8, "222"));
    demos.add(new Demo(4, ""));
    demos.add(new Demo(3, "123"));
    demos.add(new Demo(6, ""));
    demos.add(new Demo(1, null));
    demos.add(new Demo(2, ""));
    demos.add(new Demo(5, "333"));
    demos.add(new Demo(7, null));
    demos.sort(Comparator.comparing(Demo::getName, Comparator.nullsFirst(String::compareTo)));
    for (Demo demo : demos) {
        System.out.println("id: " + demo.getId() + " name: " + demo.getName());
    }
}

执行结果:

id: 1 name: null
id: 7 name: null
id: 4 name:
id: 6 name:
id: 2 name: 
id: 3 name: 123
id: 8 name: 222
id: 5 name: 333

微信公众号开发入门

2019-12-19   朋也   spring-boot学习笔记   wechat  

公司要做微信公众号,又折腾了一遍,总结一下,备忘用

申请测试帐号

个人申请的公众号没有认证的话,是没有那么多权限的,不过微信给我们提供了一个申请测试帐号的页面,申请的测试帐号基本上有所有的权限,申请地址:https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index

扫码登录一下,微信就会分配一个测试帐号

Eclipse配置,插件备忘

2019-11-05   朋也   杂项   eclipse  

一直都用的是idea做的开发,突然想再换回eclipse用用,然后就开始了折腾,记录一下安装的插件和一些常用的配置

我这里用的是 spring tool suites 下载地址:https://spring.io/tools

系统 MacOS

springboot集成mybatis配置主从复制双库实现读写分离

2019-10-30   朋也   spring-boot学习笔记   java  

一般情况下网站对数据库的读要比写多多了,所以当数据量大了的时候,使用读写分离是很有必要的

spring提供了数据源路由的类,正好拿它来实现一下

springboot项目集成mybatis

2019-10-29   朋也   spring-boot学习笔记   java  

之间写过一篇 最全的Spring-Boot集成Mybatis-Plus教程

突然发现不会配置单纯的mybatis了,稍微折腾了一下

MySQL主从复制(主主复制)配置

2019-10-24   朋也   java学习笔记   java  

mysql自带的就有主从复制功能,原理是通过主节点的bin-log日志来实现的数据同步

master开启bin-log日志 -> slave开启同步日志 -> slave读取master的bin-log中的sql语句达到同步数据的功能

nginx用法总结,映射静态资源,代理http,负载均衡,tcp服务,附带 haproxy 简单配置

2019-10-12   朋也   杂项   nginx  

用nginx也有好多年了,还没有总结过,这篇博客总结一下

MySQL存储过程学习, java调用存储过程总结

2019-09-27   朋也   java学习笔记   mysql  

了解一下mysql的存储过程用法,总结一下

springboot前后端分离项目中使用hibernate-validator校验请求参数返回自定义异常信息的json数据

2019-09-11   朋也   spring-boot学习笔记   java  

之间整理过一篇 springboot 项目里使用 hibernate-validator 校验参数,然后在freemarker模板里取异常信息展示 的博客

现在都流行前后端分离了,服务端大都直接返json,又稍微折腾了一下,结合统一异常处理,优雅的实现请求参数的校验

Java中压缩/解压zip包

2019-09-03   朋也   java学习笔记   java  

整理一个zip的压缩/解压工具类