MyBatis3 模糊查询 & xxx is ambiguous in Mapped Statements collection异常
模糊查询:
工作中用到,写三种用法吧
1. sql中字符串拼接
SELECT * FROM tableName WHERE name LIKE CONCAT(CONCAT('%', #{text}), '%');
2. 使用 ${...} 代替 #{...}
SELECT * FROM tableName WHERE name LIKE '%${text}%';
3. 程序中拼接
Java
// or String searchText = "%" + text + "%";
String searchText = new StringBuilder("%").append(text).append("%").toString();
parameterMap.put("text", searchText);
SqlMap.xml
SELECT * FROM tableName WHERE name LIKE #{text};
异常:
java.lang.IllegalArgumentException: modify is ambiguous in Mapped Statements collection (try using the full name including the namespace, or rename one of the entries)
at org.apache.ibatis.session.Configuration$StrictMap.get(Configuration.java:466)
at org.apache.ibatis.session.Configuration.getMappedStatement(Configuration.java:349)
at org.apache.ibatis.binding.MapperMethod.setupCommandType(MapperMethod.java:137)
at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:46)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:34)
at $Proxy10.modify(Unknown Source)
抛出这个异常的原因可能是因为mapper.xml配置文件中<mapper>的namespace属性配置错误造成的,没有根据命名空间的值(全称类名)找到相应映射接口。
如:<mapper namespace="com.xxx.xxx.mapper.TestMapper" >
分享到:
相关推荐
在使用MyBatis框架进行数据库操作时,可能会遇到“Mapped Statements collection does not contain value for”这样的错误提示。这通常意味着MyBatis无法找到与指定的ID相对应的映射语句。下面将详细解释这个问题的...
在IT行业中,Spring框架和Mybatis的整合是常见的企业级应用开发模式,它们结合使用能够实现灵活、高效的数据访问层。PageHelper分页插件则是Mybatis中的一个实用工具,可以方便地对查询结果进行分页处理。接下来,...
资源的内容包含最新版SSM框架,详细内容是MyBatis最新版本(版本号:3.5.4),Spring最新版本(版本号5.2.6),Spring内容包含docs、dist、schema文件压缩包。 docs:该文件夹下包含Spring的相关文档、开发指南及API参考...
在MyBatis中,动态SQL是其强大特性之一,它允许我们在XML映射文件中根据条件构造SQL语句。`<if>`标签是动态SQL的一种常用方式,主要用于条件判断。当我们需要根据变量的值来决定某段SQL代码是否执行时,`<if>`标签就...
Mybatis 中的 <![CDATA[ ]]> Mybatis 是一个基于 Java 的持久层框架,使用 XML 文件来描述数据库的映射关系。在 Mybatis 中, XML 文件 play 了至关重要的角色,其中 XML 文件中的特殊字符会被解析器转义。如果我们...
标题 "mybatis collection list string" 暗示了我们讨论的主题是关于MyBatis框架中与集合(List)和字符串(String)处理相关的问题。在MyBatis这个强大的持久层框架中,集合和字符串的使用非常常见,尤其是在进行数据库...
在MyBatis中,处理多层级集合嵌套是常见的需求,特别是在映射复杂的数据结构时。这个场景通常出现在一个实体对象包含多个子对象,而这些子对象又可能有自己的子对象,形成一种树状或者网状的数据关系。在提供的文档...
基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 微信小程序 基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 微信小程序 基于 Spring Boot + MyBatis Plus + Vue ...
Mybatis jar包 & Mysql JDBC 驱动 ,用于Mybatis 访问操作Mysql数据库 mybatis-3.4.1.jar mysql-connector-java-5.1.36.jar
MyBatis是一款流行的Java持久层框架,它的设计理念是通过简单的XML或注解用于配置和映射原始类型、接口和Java POJOs(Plain Old Java Objects,普通老式Java对象)为数据库中的记录。MyBatis可以与各种数据库交互,...
MyBatis3DTD约束是MyBatis框架中用于定义XML映射文件的一种规范,它描述了XML文件的结构和元素。DTD(Document Type Definition)是XML文档类型定义,用于规定XML文档的合法构建块,包括元素、属性以及它们之间的...
MyBatis是一个开源的持久层框架,它的全称是“MyBatis 3”,它是iBatis的升级版,专注于POJO(Plain Old Java Object,普通Java对象)和数据库之间的映射关系。MyBatis消除了几乎所有的JDBC代码和手动设置参数以及...
MyBatis的学习代码MyBatis的学习代码MyBatis的学习代码MyBatis的学习代码MyBatis的学习代码MyBatis的学习代码MyBatis的学习代码MyBatis的学习代码MyBatis的学习代码MyBatis的学习代码MyBatis的学习代码MyBatis的学习...
除了上述情况外,还可能出现其他类型的错误,如 `MappedStatements collection does not contain value for...` 这类异常,通常是由以下几个原因导致的: 1. **Mapper XML 中缺少命名空间** 确保 mapper 文件中...
- **增强的异常处理**:通过 Spring 的异常处理机制,可以更好地处理 MyBatis 执行 SQL 语句时可能出现的异常。 ##### 1.2 要求 为了更好地理解和使用 MyBatis-Spring,读者需具备以下知识: - 对 Spring 框架的...
【标题】"Mybatis&Spring整合的小项目源代码(含M-S整合jar包)" 提供了一个基于Mybatis和Spring框架的集成应用实例,旨在帮助开发者理解如何在实际开发中将这两个流行的数据访问技术结合使用。这个压缩包包含了实现...
MyBatis3是一款深受开发者喜爱的持久层框架,它提供了灵活的SQL映射和对象关系映射功能,使得Java开发人员能够方便地处理数据库操作。本教程旨在带你从零开始,逐步掌握MyBatis3的核心概念和技术,实现数据库操作的...
在MyBatis中,`mybatis-3-config.dtd` 和 `mybatis-3-mapper.dtd` 是两个至关重要的DTD(Document Type Definition)文件,它们定义了MyBatis配置文件和映射文件的结构和规则。 首先,让我们深入了解一下`mybatis-3...
### Mybatis高级-resultMap之collection聚集 在MyBatis中,`collection`元素主要用于处理一对多的关系映射问题。本文将通过一个具体的示例来详细解释如何利用MyBatis的`collection`元素来实现一对多的数据关联。 #...
参数校验器和整合Mybatis&MybatisPlus.md