Error while adding the mapper ‘interface com.louis.mapper.StudentMapper‘ toxxx

文章讲述了在使用Mybatis时遇到的一个启动报错问题,主要是XML映射文件的配置错误。问题出在XML文件开头有一个额外的回车,导致mapper接口无法正确映射到配置。作者通过删除回车解决了这个问题,并提醒读者注意此类细节。
摘要由CSDN通过智能技术生成

关于mybatis映射xml文件的动态绑定时,项目启动报错的问题

这次主打就是一个记录踩坑的小文章,先总结关于这类问题常见的问题

  1. 作用域namespace 未补全 应该是项目的全路径(绝对路径)
  2. id是绑定mapper层函数的名(千万不要错,因为就是靠这个id找到对应绑定的)
  3. resultType一般是绑定有返回值的 绑定的对象时都是pojo类(纯净类)也是需要项目的全路径 用来找到pojo包在项目的绝对路径
    在这里插入图片描述
  4. 建立映射文件xml要与src(源文件)是同包名同类名
    在这里插入图片描述
  5. 这就是我的问题啦 先给出报错信息
    在这里插入图片描述
    报错信息:大概就是无法找到接口的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!!!以此记录,也引以为戒!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Brilliant.Louis

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值