**

java 启动项目报错:No MyBatis mapper was found in ‘[com.wangyi.wangyi]’ package. Please check your configuration

**

问题分析:
说在com.wangyi.wangyi包里没有找到mybatis mapper,请检查一下你的配置文件。

解决办法:
项目中找问题,因为我是自己刚开始学习使用java,所以我一开始只想尝试调用到,启动可以打印,所以就没有那么系统。查看项目发现

1、我controller调用model中的user类没有,加上它。

package com.wangyi.wangyi.models;

public class User {
    private String username;
    private String password;
    private Long id;

    public String getUsername() {
        return username;
    }

    public String getPassword() {
        return password;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    @Override
    public String toString() {
        return "User{" +
                "username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", id=" + id +
                '}';
    }

    public User(String username, String password, Long id) {
        this.username = username;
        this.password = password;
        this.id = id;
    }
}

我这里使用的mac,快捷生成get,set,是commeand+n

2、启动项目发现问题还在,网上搜索说控制sql的xml文件没有。加上它

<?xml version="1.0" encoding="UTF-8" ?>
<mapper xmlns="http://mybatis.org/schema/mybatis-mapper" namespace="com.wangyi.wangyi.dao.UserDao">

</mapper>

3、运行项目发现问题还在,查看发现dao层,没有这个声明接口,加上

package com.wangyi.wangyi.dao;

public interface UserDao {
    Boolean addUser(String username,String password);
}

4、运行项目发现问题依然在,网上继续搜,说是在入口文件需要增加一个mapper的声明加上它

package com.wangyi.wangyi;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
//添加这一句声明,后面内容写项目实例目录地址,我看网上好多的都是mapper,而我没有mapper目录,因为我是新手可能目录有一点问题,后续在研究
@MapperScan(basePackages = "com.wangyi.wangyi.dao")
public class WangyiApplication {

    public static void main(String[] args) {
        SpringApplication.run(WangyiApplication.class, args);
    }
}

再次运行项目,问题解决

问题总结:
我是根据一个项目,缺少的文件来解决的,我感觉我的方法顺序有些问题,应该直接去入口文件直接写mapper注解,应该会直接解决问题。但是不知道增加完了会不会报错其它问题。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐