踩坑随笔

JAVA

For循环中remove元素

存在两个问题:
1.集合中的元素没有遍历完全
2.一旦集合中的元素删空,会抛java.util.ConcurrentModificationException异常
因为集合的大小是动态变化的,当你删除一个元素后,下一个位置的元素会补位到当前元素,但是i的值还是会继续+1,相当于跳过了下一个元素。
解决办法:选用迭代器进行遍历删除,用迭代器的hasnext方法寻找下一个元素

接口调用

对外接口,一般都会封装服务结果,像下面这样,将实际返回数据放到data属性,另外标记调用结果code,失败标注失败原因Msg
但内部服务,一般都是直接返回data,捕获异常
这次踩坑就是复用内部对外提供的接口,没有校验返回code,当做一般内部服务处理,导致相关数据没有取到

    public class ResultBean<T> implements Serializable {
    private static final long serialVersionUID = 1L;

    public static final int SUCCESS = 0;

    public static final int FAIL = 1;

    private String msg = "success";

    private int code = SUCCESS;

    private T data;

    public ResultBean() {
        super();
    }

    public ResultBean(T data) {
        super();
        this.data = data;
    }

    public ResultBean(Throwable e) {
        super();
        this.msg = e.toString();
        this.code = FAIL ;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public T getData() {
        return data;
    }

    public void setData(T data) {
        this.data = data;
    }
}

MySql

mapper文件中用–注释sql

–注释会与mapper文件中的标签冲突,导致注释的字段没有被注释
如果因为没有注释直接报错还好,可以比较容易的发现问题,但如果是sql可以继续执行,只是执行结果变了,就很难发现了

GroupBy 统计数据

需考量数据量,大的表,需要对group by后面的字段按最左匹配原则,创建联合索引
没有去重需求的sql,可以考虑拆分执行再合并数据

两个字段相加,需要做空判断

sql两个字段相加,如果有一个为空,则结果也为空

JS

使用EasyUI的出现Cannot read property ‘options’ of undefined,样式重复,
很多子页面会继承父页面的引用,css,js文件。如果子页面重复引用,则可能导致上述错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值