一般出现这个问题,主要的问题是mybatis中dao接口与mapper配置文件在做映射绑定的时候出现问题,简单说,就是接口和xml要么是找不到,要么是找到了却匹配不到。
1.找不到的主要原因可能是以下这种情况
就是在mapper文件中使用mapper下的package标签时,有点问题
<mappers> <!-- 类似于别名,这个包下面的xml文件都能访问--> <!-- 这个包名以及xml文件名必须和cn.swjd.dao.IUserDao相同--> <package name="cn.swjd.dao"/> </mappers>
在我写的时候我是将dao和xml文件分别放在不同的位置
其实dao和xml没必要放在同一包下,两个名字不相同也没事。最主要的这个问题就是在使用package时,我在cn.swjd.dao后面再接着点,出来的是IUserdao,于是我直接将其换成最原始的
<mappers> <mapper resource="cn/swjd/dao/OrderMapper.xml"></mapper> </mappers>
这样子我的报错就解决了
2.找到了却匹配不到可能是因为表的字段名和属性名不一样,因此就算找到了,可能也匹配不对。可以仔细核对一下自己的!