常见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上传解析时

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

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

十二

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值