Invalid bound statement (not found): com.guli.collegemanagetrailing.mapper.LoginMapper.login,如何解决?

Invalid bound statement (not found): com.guli.collegemanagetrailing.mapper.LoginMapper.login

我已经检查过了没有任何问题,mybatisX插件也正常提示跳转,但是就是会报这个错误,但是使用@Select注解后又没有任何问题,我的路径是没有错误的,正常放在application.yml同级的mappers文件夹下

LoginMapper.java的代码

@Mapper
public interface LoginMapper {

    /**
     * 登录成功或失败
     * @param loginDto 登录对象
     * @return 返回loginDto对象
     */
    LoginDto login(@Param("loginDto") LoginDto loginDto);

}

LoginMapper.xml的代码

<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.guli.collegemanagetrailing.mapper.LoginMapper">

    <resultMap id="loginMap" type="com.guli.collegemanagetrailing.dto.LoginDto">
        <result property="username" column="username" />
        <result property="password" column="password" />
        <result property="jurisdictionId" column="jurisdiction_id" />
        <result property="status" column="status" />
    </resultMap>

    <select id="login" resultMap="loginMap">
        SELECT `username`,`password`,`jurisdiction_id`,`status` FROM `member` WHERE `username` = #{loginDto.username}
    </select>

</mapper>

启动类上也加入了mapperscan

@SpringBootApplication
@MapperScan("com.guli.collegemanagetrailing.mapper")
@EnableWebSecurity
public class CollegeManageTrailingApplication {
    public static void main(String[] args) {
        SpringApplication.run(CollegeManageTrailingApplication.class, args);
    }

}

把你的 @Mapper 注解去了试试

你这个mapper.xml没有编译进target文件夹,在Pom.xml设置一下吧

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    尝试解决这个问题的第一步是检查映射文件路径。请确保映射文件(LoginMapper.xml)位于application.yml的同级目录下的mappers文件夹中。

    然后,检查映射文件的文件名和路径是否与LoginMapper.java中的注解和方法名匹配。这是为了确保映射文件可以正确加载到Mybatis中。

    接下来,请检查application.yml中的mapperscan配置。确保指定了正确的包路径,以便Mybatis能够正确加载并扫描到映射文件。

    如果以上步骤都没有解决问题,接下来可以检查映射文件中的绑定语句。确保映射文件中的<select>语句的id与LoginMapper.java中的方法名匹配。还要确保映射文件中的命名空间(namespace)已正确配置为com.guli.collegemanagetrailing.mapper.LoginMapper

    最后,请检查application.yml中的Mybatis配置是否正确。确保数据库配置正确无误。

    如果以上解决方案都不能解决问题,那么可能需要进一步了解错误信息和相关代码,以便进行更深入的分析和帮助。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^