业务场景是根据ID等查询某条数据,忽然ID穿了一个null,然后就出现了错误,代码如下
Db.find("SELECT * FROM `test` where id=? ",null);
debug到下面方法发现出现了java.lang.NullPointerException错误
然后测试传2个null的时候
Db.find("SELECT * FROM `test` where id=? and name=?",null,null);
发现两个空值没问题
目前先通过继承MysqlDialect解决了问题,希望这块修复下
项目:JFinal
传一个null时,会被解析成为数组paras = null,引发空指针;
传两个null时,会被解析成为数组paras = {null, null},就不会空指针了
实际常用到的就是Db.findById()
而且sql中一般都是写“WHERE id IS NULL”而不会写“WHERE id = NULL”
这样测出的bug的方式也是刁钻啊