float和Float的问题,错误原因:cannot be translated into a null value

今天遇到这个问题

java.lang.IllegalStateException: Optional float parameter 'gas_price' is present but cannot be translated into a null value due to being declared as a primitive type. Consider declaring it as object wrapper for the corresponding primitive type.

是由于sql中使用了where (user_id=#{user_id})
or (card_id=#{card_id})
or (gas_price=#{gas_price}) 这样在只有user_id的情况下,其他只会默认设为null,但是由于我之前将gas_price设为了float,该类型不能赋值为null,所以报错。

解决办法:之前考虑将所有的float设为包装类,然而并没有效果,难道只能通过判断?

你可能感兴趣的:(java后台)