关于mybatis映射xml文件的动态绑定时,项目启动报错的问题
这次主打就是一个记录踩坑的小文章,先总结关于这类问题常见的问题
- 作用域namespace 未补全 应该是项目的全路径(绝对路径)
- id是绑定mapper层函数的名(千万不要错,因为就是靠这个id找到对应绑定的)
- resultType一般是绑定有返回值的 绑定的对象时都是pojo类(纯净类)也是需要项目的全路径 用来找到pojo包在项目的绝对路径。
- 建立映射文件xml要与src(源文件)是同包名同类名
- 这就是我的问题啦 先给出报错信息
报错信息:大概就是无法找到接口的mapper映射到xml配置文件,可就是明明前四点我都有照做,可依旧找不到完成不了映射?这很奇怪,后来我才发现!!! xml文件开头第一行我输入了回车,也是会导致xml文件与mapper接口完成不了一一映射的关系. 我给大家展示一下 我出错的xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.louis.mapper.StudentMapper">
<select id="list" resultType="com.louis.entity.po.Student">
<where>
<if test="stuName!=null and stuName!=''">
stuName like concat('%',#{stuName},'%')
</if>
<if test="gender!=null">
and gender =#{gender}
</if>
</where>
</select>
<delete id="delete">
delete
from student
where id in
<foreach collection="ids" item="id" separator="," open="(" close=")">
#{id}
</foreach>
</delete>
</mapper>
就是这么个小小细节,导致我找了一个多小时的解决办法,最终弄巧成拙,删掉了回车,才解决的bug!!!以此记录,也引以为戒!!!