Mybatis异常总结
文章目录
前言
下面是我在工作中遇到Mybatis的相关异常,可能不全,但是也可以参考一下,如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!
一、Mybatis异常总结
1、 Error evaluating expression ‘’’’. Return value () was not iterable
出现原因:xml文件中遍历List 时,该参数的实际值为非List数据。
2、 invalid comparison: java.util.ArrayList and java.lang.String
出现原因:因为params.Ids !=""'造成集合和字符串类型的比较,故报错
<if test='params.Ids != null and params.Ids !=""'>
and o.gen_id in
<foreach collection="params.Ids" index="index" item="Id" open="(" separator="," close=")">
#{Id}
</foreach>
</if>
解决:改成 params.genIds.size() > 0
3、ORA-00918:未明确定义列
出现原因:列名重复或者没明确属于那种表
4、‘params.memberId != null and params.memberId != “”’. Cause: org.apache.ibatis.ognl.NoSuchPropertyException:
出现原因:这个错误时由于Mybatis封装的空指针异常,当没有传入条件时,params这个对象即为空,而进行条件判断params.memberId,自然会报空指针。
解决:方法是再加一层判断,先判断params是不是空:
或者 没有memberId这个变量。
5、Caused by: oracle.jdbc.OracleDatabaseException: ORA-00904: “P”.“FFF”: 标识符无效
出现原因:没有该字段
6、org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.yzy.shanxi.yzy.interprovincial.dayago.mapper.InterPlDayAgoMapper.queryData
出现原因:mapper 文件的方法名,在对应的xml中无该方法名
7、bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-00936: 缺失表达式
出现原因:sql 字段区域 有问题
更多推荐
所有评论(0)