最近在练习Git上面一个挺好的项目,mall-learning。运行的时候碰到这个问题,做个记录。
1.直接上报错的图片
1:检查xml文件所在package名称是否和Mapper interface所在的包名一一对应;
2:检查xml的namespace是否和xml文件的package名称一一对应;
3:检查方法名称是否对应;
package com.macro.mall.tiny.dao;
import com.macro.mall.tiny.mbg.model.UmsPermission;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 后台用户与角色管理自定义Dao
* @author zgku
* @version 1.0
* @date 2020/5/9 10:49
*/
@Component
public interface UmsAdminRoleRelationDao {
/**
* 获取用户所有权限(包括+-权限)
*/
List<UmsPermission> getPermissionList(@Param("adminId") Long adminId);
}
<?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.macro.mall.tiny.dao.UmsAdminRoleRelationDao">
<select id="getPermissionList" resultMap="com.macro.mall.tiny.mbg.mapper.UmsPermissionMapper.BaseResultMap">
我仔细检查了好几遍都没问题还是报错。
换个思路,
4.看下application.yml里面MyBatis的配置有没有问题
server:
port: 8080
spring:
mybatis:
mapper-locations:
- classpath:mapper/*.xml
- classpath*:com/**/mapper/*.xml
这里注意一下,mybatis跟spring是同级的,前面一定不要有空格或者缩进。
检查后也没有问题。
最后没办法,只能先maven-clean 再maven-install 一下。
项目重新启动后,到swagger-ui测试一下,
返回的是200.竟然成功了,没报错.
测试Controller,控制台输出正常。
2020-05-11 16:11:41.702 INFO 928 --- [nio-8080-exec-3] c.m.m.t.c.JwtAuthenticationTokenFilter : checking username:test
2020-05-11 16:11:41.707 INFO 928 --- [nio-8080-exec-3] c.m.m.t.c.JwtAuthenticationTokenFilter : authenticated user:test
以上。