mybatis报空指针异常的几种原因

一、service层的参数类型和dao层的参数类型不一致

例如:

service层:

List queryLogByPage(String keyword, Short operateType, Short operateStatus, Short operateMode, Short payStatus, Short payWay, Page page);

dao层:

List selectLogByPage(@Param("keyword") String keyword,@Param("operateType") int operateType,@Param("operateStatus") int operateStatus,@Param("operateMode") int operateMode,@Param("payStatus")  int payStatus,@Param("payWay")  int payWay,@Param(Globals.PAGE)  Page page);

如果service层是Integer id,dao层是 int id,当id=null时也会报异常。

 

二、当传入的是个实体类,并且sql中用的实体类中Integer id  ,当传入实体类为new的时候不报错,此时id=null;  并且可正常返回空集合

 

三、传入的是Integer id  ,此时id=null;  并且可正常返回空集合

 

四、传入是List集合,集合不能为空,为空报异常,特别是xml中用foreach标签
 

你可能感兴趣的:(javaWeb)