1. 可能是为XML中不能为空的字段传递了null值,比如XML中定义的主键字段。
2. XML配置文件中,如果对一个属性字段,需要传递NULL值,(尤其是Date,int等类型时),JDBCType是必要的。
解决方法是在查询条件的字段中,加上jdbcType类型。 如:t.csrq=#{csrq,jdbcType=TIMESTAMP}
3. 如果传入参数不是Map或者Java Object,而是多个参数列表的形式,如果参数类型一致,那么不会出现问题,如果参数类型不一致,如既有String类型,也有Integer类型,那么解析的时候同样会出错。需要在对应字段后加jdbcType。