我是靠谱客的博主 斯文蓝天,最近开发中收集的这篇文章主要介绍常见bug,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

修改sql的select查询条件时,需要同时查看是否有group by分组条件。如果有group分组条件,需要在group by后同时修改

利用mybatis修改sql时,需要注意and/or等条件是否缺失

java代码对一个pojo的属性做更改前,查询其是否为空,或者说是否从数据库中已经读出

比如读取Student类的sex,如果数据库没读,那么判定性别后处理的逻辑就进不去。

还是性能问题,利用for循环做sql查询或者更新,性能过低了,单机系统尽力避免

Ibatis中编写if test属性时,入参类型中没有改属性值的字段定义

六 

数值的等于判断问题

//        Integer   java对于-128到127之间的数,会进行缓存,这个范围的Integer对象是同一个! == 是ok,
//        但是超出这个范围就不可以用 == 判断
        Integer a1=1;
        Integer a2=1;
        System.out.println(a1==a2);

        Integer b1=1001;
        Integer b2=1001;
        System.out.println(b1==b2);

        //BigDecimal初始化double的问题 用new BigDecimal(1.1) 可能会导致初始化的精度不准确
        BigDecimal bigDecimala=new BigDecimal(1.1);
        BigDecimal bigDecimalb=new BigDecimal(1.2);
        System.out.println(bigDecimala.add(bigDecimalb));

        //BigDecimal初始化double的问题 用BigDecimal.valueOf 准确
        BigDecimal bigDecimal1=BigDecimal.valueOf(1.1);
        BigDecimal bigDecimal2=BigDecimal.valueOf(1.2);
        System.out.println(bigDecimal1.add(bigDecimal2));

//运行结果:
true
false
2.3000000000000000444089209850062616169452667236328125
2.3

Map map=new HashMap();

map.put(null,"1");

不报错,map可以塞key为null

mybatis的条件判断,外围用单引比较好

<when test='expired == null or expired == "" or expired == "0"'>

oracle用in查询,list的长度大于999后报错

前端传递的字符两端有空格,不容易发现,未过滤

有不可见的空格换行符需去除

十一

excle上传解析时

数字解析为文本字符串带逗号

文本字符串可能有不可见的空格换行符

十二

重复发起请求,幂等问题,导致后台记录数据重复

最后

以上就是斯文蓝天为你收集整理的常见bug的全部内容,希望文章能够帮你解决常见bug所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部