错误原因



这个错误通常表示在解析 Mybatis 映射文件(Mapper XML)时出现了问题,可能的原因有两个:

  1. 集合属性缺少 javaType 或 resultMap 属性:该错误信息显示了 "Ambiguous collection type for property 't_emp'. You must specify 'javaType' or 'resultMap'",表明 t_emp 属性的集合类型不明确,需要指定 javaType 或 resultMap。这通常发生在映射文件中的集合属性没有指定 javaType 或 resultMap,并且 Mybatis 无法自动推断出其类型时。要解决这个问题,需要在映射文件中为集合属性添加 javaType 或 resultMap,明确其类型。

  2. 映射文件语法错误:另外一个可能的原因是映射文件中存在语法错误,导致 Mybatis 无法正确解析该文件。在这种情况下,需要仔细检查映射文件的语法是否正确,以及是否存在语法错误。

针对以上原因,你可以参照以下方法进行排查和修复:

  1. 检查集合属性是否指定了 javaType 或 resultMap,如果没有,则添加相应的属性定义。
  2. 检查映射文件是否存在语法错误,例如元素是否正确闭合、属性是否正确赋值等。
  3. 确保 Mybatis 版本与依赖库的版本相匹配,版本不匹配也可能导致解析错误。
  4. 尝试使用 Mybatis 提供的工具进行调试和分析,例如使用 Mybatis Generator 自动生成 Mapper 类或 XML 文件,查看其生成的代码是否符合预期。

示例纠正后的映射文件:

<resultMap id="deptAndEmpResultMap" type="com.north.model.Dept">
<id property="deptno" column="deptno"/>
<result property="dname" column="dname"/>
<result property="loc" column="loc"/>
<collection property="t_emp" resultMap="empResultMap"/>
</resultMap> <resultMap id="empResultMap" type="com.north.model.Emp">
<id property="empno" column="empno"/>
<result property="ename" column="ename"/>
<result property="job" column="job"/>
</resultMap>

这里 collection 配置项的 resultMap 属性指向了指定类型的映射配置。

解决方案

吐槽一下自己 : 自己真的有被自己给蠢到 , 写的时候不注意

在实体类当中添加另一个实体类进行封装 , 然后再进行查询

    private Emp emp;

    public Emp getEmp() {
return emp;
} public void setEmp(Emp emp) {
this.emp = emp;
}

最终问题得到解决

查询结果显示 :

Cause: org.apache.ibatis.builder.BuilderException: Ambiguous collection type for property 'emps'. You must specify 'javaType' or 'resultMap'的更多相关文章

  1. mybatis <fireach> 拼接sql语句 org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: org.apache.ibatis.builder.BuilderException: Error evaluating expression 'in'. Cause:

    <select id="getUserIn" parameterType="QueryVo" resultMap="userMap"& ...

  2. ### Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.

    在做多表映射查询时,在同一个resultMap中写了1:1映射和1:n映射,结果测试时报错如下: org.apache.ibatis.exceptions.PersistenceException: ...

  3. Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xm

    mybatis解析xml配置文件出现异常: org.apache.ibatis.exceptions.PersistenceException: Error building SqlSession. ...

  4. org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML.问题思路

    15:36:34,549 WARN DefaultListableBeanFactory:1416 - Bean creation exception on FactoryBean type chec ...

  5. 解决:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression 'requestMap.maintenancename != null and requestMap.maintenance

    异常如下:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.Builde ...

  6. The error may exist in com/bjpowernode/dao/StudentDao.xml ### Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.builder.BuilderExcept

    The error may exist in com/bjpowernode/dao/StudentDao.xml### Cause: org.apache.ibatis.builder.Builde ...

  7. mybatis异常:nested exception is org.apache.ibatis.builder.BuilderException: Error resolving JdbcType

    异常详细 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.Builde ...

  8. ### Error building SqlSession. ### The error may exist in SQL Mapper Configuration ### Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibat

    这是一个由粗心导致的错误,具体报错如下: org.apache.ibatis.exceptions.PersistenceException: ### Error building SqlSessio ...

  9. Error building SqlSession. ### The error may exist in dao/UserMapper.xml ### Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration(2 字节的 UTF-8 序列的字节 2 无效。)

    关于在学习Mybatis框架时运行报错 Caused by: org.apache.ibatis.exceptions.PersistenceException: ### Error building ...

  10. 报错 ———— Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 6; 不允许有匹配 "[xX][mM][lL]" 的处理指令目标。

    报错 <?xml version="1.0" encoding="UTF-8"?>  必须是XML文件的第一个元素且前面不能空格. ### Erro ...

随机推荐

  1. vue之箭头函数

    目录 说明 解决方法一 重新定义this 解决方法二 使用箭头函数 无参数的箭头函数 有一个参数的箭头函数 有两个参数的箭头函数 有一个参数一个返回值的箭头函数 说明 当在一个方法(函数)里面再定义一 ...

  2. 华为 A800-9000 服务器 离线安装MindX DL

    MindX DL(昇腾深度学习组件)是支持 Atlas 800 训练服务器.Atlas 800 推理服务器的深度学习组件参考设计,提供昇腾 AI 处理器资源管理和监控.昇腾 AI 处理器优化调度.分布 ...

  3. 使用ServiceSelf解决.NET应用程序做服务的难题

    1 ServiceSelf 为.NET 泛型主机的应用程序提供自安装为服务进程的能力,支持windows和linux平台. 功能 自我服务安装 自我服务卸载 自我服务日志监听 2 自我服务安装 虽然. ...

  4. uniapp小程序开发准备工作

    1.下载HbuilderX HBuilderX官网:https://www.dcloud.io/hbuilderx.html 下载正式版--下载完后解压--双击打开HBuilderX.exe文件就可以 ...

  5. 京东APP百亿级商品与车关系数据检索实践

    导读 本文主要讲解了京东百亿级商品车型适配数据存储结构设计以及怎样实现适配接口的高性能查询.通过京东百亿级数据缓存架构设计实践案例,简单剖析了jimdb的位图(bitmap)函数和lua脚本应用在高性 ...

  6. 大家都在用-神奇的Markdown格式

    概述 Markdown 是一种轻量级标记语言,它可以使我们专注于写作内容,而不用过多关注排版,很多博主.作家等都用它来撰写文章~ 本文将给各位小伙伴介绍 Markdown 语法的使用,本篇文章索奇就是 ...

  7. vue 事件中的 .native你搞清楚了吗

    native是什么? .native - 监听组件根元素的原生事件. 主要是给自定义的组件添加原生事件. 官网的解释: 你可能想在某个组件的根元素上监听一个原生事件.可以使用 v-on 的修饰符 .n ...

  8. 2022-03-20:给定一棵多叉树的头节点head, 每个节点的颜色只会是0、1、2、3中的一种, 任何两个节点之间的都有路径, 如果节点a和节点b的路径上,包含全部的颜色,这条路径算达标路径, (

    2022-03-20:给定一棵多叉树的头节点head, 每个节点的颜色只会是0.1.2.3中的一种, 任何两个节点之间的都有路径, 如果节点a和节点b的路径上,包含全部的颜色,这条路径算达标路径, ( ...

  9. 2021-06-01:K个逆序对数组。给出两个整数 n 和 k,找出所有包含从 1 到 n 的数字,且恰好拥有 k 个逆序对的不同的数组的个数。逆序对的定义如下:对于数组的第i个和第 j个元素,如果满

    2021-06-01:K个逆序对数组.给出两个整数 n 和 k,找出所有包含从 1 到 n 的数字,且恰好拥有 k 个逆序对的不同的数组的个数.逆序对的定义如下:对于数组的第i个和第 j个元素,如果满 ...

  10. PLSQL一些常用的知识点

    1.背景 此处简单的记录一下在 oracle中如何使用plsql语法,记录一些简单的例子,防止以后忘记. 2.变量的声明 declare -- 声明变量 v_name varchar2(20); -- ...