工作记录(更新中)

要点记录

1.MybatisPlus Java API 2.0版本 更新操作 更新键值为NULL无效的问题

解决:使用 更新全部列解决

        activityEntity.setUpdateTime(null);
        Integer result = activityMapper.updateAllColumnById(activityEntity);

2.Redis 整合SpringBoot API zset 存储<key,value>

解决:value 必须为String类型 否则报错

zSetOperations.incrementScore(key, value, score);

3.Redis 整合SpringBoot API Zset取前 Count 个元素

解决:zset会根据 分值 进行返回 如果存在相同的分值 value 则继续向后顺延一位

zSetOperations.reverseRangeWithScores(getUserRankKey(gameId, rid), 0L, count.longValue());

4.注意深层对象为空判断

当一个大对象中存在小对象,需要取出使用时需要层层判断是否为null,否则会报空指针异常

        Basic basic =ConfigService.getBasic();
        Integer pageLimit = 3;
        if (basic != null && basic.getPageLimit() != null) {
            pageLimit = basic.getPageLimit();
        }

5.关于方法返回值的思考

当一个方法返回一个对象时,当对象未取到,返回为null还是返回为一个初始化的对象需要具体情况具体分析。出现这种情况的原因多出现在调用同事提供的服务及提供给前端的接口上。一般来说,调用同事的服务,需要判断对象是否为null,此时方法返回null即可。返回前端的接口一般需要默认值,则此时返回的对象应返回一个初始化的对象。

6.关于打印日志

打印日志目的在于快速定位异常 ,界定异常发生的范围等。一般在获取基础配置或调用同事提供的服务方法时打印传入的参数及返回的对象,对象一般使用JSON转化,之后通过日志快速定位错误。

7.关于 循环之前的判断是否为null

    public static void main(String[] args) {

        List<Integer> list = xxxx.find(); //null
        //外部调用返回为null 则下面三种方式均会 报 空指针异常
        // forEach 调用
        list.forEach(System.out::println);

        // 增强型for循环
        for (Integer integer : list) {
            System.out.println(integer);
        }

        // 空指针
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }

		//如果需要避免这种情况 则需要在外部调用中返回
		//new ArrayList();
        List<Integer> list = xxxx.find(); //new ArrayList();

    }

8.关于 使用lamda表达式进行循环

注意:判断是否为null

9.关于Get请求

参数请求多的情况下 需要在接口参数中表明可传 参数 目的的为了通过看代码知道所传的参数 禁止使用Map传递参数 避免后续开发人员 不知道你传的是那些参数 导致的麻烦

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值