(正在学习java)idea springboot项目中的DaoMapper.xml 的resultMap 的type找不到类

莫同学 2019-03-18 04:59:04
idea -gradle-springboot (+mybatis)按照网上某教程建了一个项目。
结构如下


MyUser .java文件
package com.example.pojo;
public class MyUser {
private Integer id;
private String userId;
private String name;
private String password;

public Integer getId() {return id; }
public void setId(Integer id) { this.id = id; }
public String getUserId() { return userId; }

public void setUserId(String userId) { this.userId = userId; }

public String getName() { return name; }

public void setName(String name) {this.name = name;}

public String getPassword() {return password; }

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


Userdao.java类
package com.example.dao;

import com.example.pojo.MyUser;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface UserDao {
MyUser findByUserId(@Param("userId") String userId);
}


UserDaoMapper.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.example.dao.UserDao">
<resultMap type=" com.example.pojo.MyUser" id="userMap">
<id property="id" column="id" jdbcType="INTEGER"/>
<result property="userId" column="userId" jdbcType="VARCHAR"/>
<result property="name" column="name" jdbcType="VARCHAR"/>
<result property="password" column="password" jdbcType="VARCHAR"/>
</resultMap>

<select id="findByUserId" resultMap="userMap" >
select
p.id id,p.userId userId,p.userName userName,p.password password
from plt_user p
where userId=#{userId}
</select>
</mapper>


application.properties文件
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/healthfood?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

mybatis.mapper-locations=classpath:mapper/*.xml

在UserDaoMapper.文件里ctrl+左键可以链接到MyUser.java类,但是编译之后就报错说是找不到这个类

配置参数添加mybatis.type-aliases-package= com.example.dao
依然找不到类


Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [G:\healthfoodPro\demo\out\production\resources\mapper\UserDaoMapper.xml]'. Cause: org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias ' com.example.pojo.MyUser'. Cause: java.lang.ClassNotFoundException: Cannot find class: com.example.pojo.MyUser
at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:122) ~[mybatis-3.5.0.jar:3.5.0]
at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:94) ~[mybatis-3.5.0.jar:3.5.0]
at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:520) ~[mybatis-spring-2.0.0.jar:2.0.0]
... 33 common frames omitted
Caused by: org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias ' com.example.pojo.MyUser'. Cause: java.lang.ClassNotFoundException: Cannot find class: com.example.pojo.MyUser
at org.apache.ibatis.builder.BaseBuilder.resolveClass(BaseBuilder.java:118) ~[mybatis-3.5.0.jar:3.5.0]
at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:266) ~[mybatis-3.5
...全文
1089 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
莫同学 2019-03-18
  • 打赏
  • 举报
回复
引用 1 楼 stacksoverflow 的回复:
Could not resolve type alias ' com.example.pojo.MyUser'. com前面有个空格,检查一下UserDaoMapper.xml <resultMap type=" com.example.pojo.MyUser" id="userMap"> 把com前空格去掉
感谢大哥,这个问题困扰了我两天,感谢
stacksoverflow 2019-03-18
  • 打赏
  • 举报
回复
Could not resolve type alias ' com.example.pojo.MyUser'. com前面有个空格,检查一下UserDaoMapper.xml <resultMap type=" com.example.pojo.MyUser" id="userMap"> 把com前空格去掉

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧