`

The entity name must immediately follow the '&' in the entity reference.

 
阅读更多

 

 

在mybatis的mapper.xml文件中编写了一段SQL语句如下:

 

我编写的SQL如下:

<!-- 根据角色ID、角色类型、用户ID查询出角色列表-->
	<select id="getUsersByRoleAuthorize" resultMap="RoleResultMap">
		SELECT 	
			u.USER_ID, 
			u.user_name,
			u.user_status,
			ur.ROLE_ID, 
			r.role_name,
			ur.ROLE_TYPE, 
			ur.created_by, 
			ur.creation_date, 
			ur.modified_by, 
			ur.modified_date
		FROM 
			t_user_roles ur,t_user u ,t_roles r
		WHERE ur.user_id = u.user_id AND 
			r.role_id = ur.role_id 
			<if test="roleAuthorize.roleAuthorizeId != null and roleAuthorize.roleAuthorizeId != ''">
				and ur.role_id = #{roleAuthorize.roleAuthorizeId}
			</if>
			<if test="roleAuthorize.roleAuthorizeType != null and roleAuthorize.roleAuthorizeType != ''">
				and ur.roleType = #{roleAuthorize.roleAuthorizeType}
			</if>
			<if test="roleAuthorize.userId != null and roleAuthorize.userId != ''">
				and ur.user_id = #{roleAuthorize.userId}
			</if>
	</select>

 

解决方案:

错误的原因在于在Mybatis接口类传入进来的对象不需要xxx对象.xxx属性,如果使用这种就会抛出以下异常,. 直接使用属性名即可。

 

改成以下就没有问题了:

 

<!-- 根据角色ID、角色类型、用户ID查询出角色列表-->
	<select id="getUsersByRoleAuthorize" resultMap="RoleResultMap">
		SELECT 	
			u.USER_ID, 
			u.user_name,
			u.user_status,
			ur.ROLE_ID, 
			r.role_name,
			ur.ROLE_TYPE, 
			ur.created_by, 
			ur.creation_date, 
			ur.modified_by, 
			ur.modified_date
		FROM 
			t_user_roles ur,t_user u ,t_roles r
		WHERE ur.user_id = u.user_id AND 
			r.role_id = ur.role_id 
			<if test="roleAuthorizeId != null and roleAuthorizeId != ''">
				and ur.role_id = #{roleAuthorizeId}
			</if>
			<if test="roleAuthorizeType != null and roleAuthorizeType != ''">
				and ur.roleType = #{roleAuthorizeType}
			</if>
			<if test="userId != null and userId != ''">
				and ur.user_id = #{userId}
			</if>
	</select>
 

 

 

异常信息:

org.apache.ibatis.builder.BuilderException: Error creating document instance.  Cause: org.xml.sax.SAXParseException: The entity name must immediately follow the '&' in the entity reference.

at org.apache.ibatis.parsing.XPathParser.createDocument(XPathParser.java:238)

at org.apache.ibatis.parsing.XPathParser.<init>(XPathParser.java:107)

at org.apache.ibatis.builder.xml.XMLMapperBuilder.<init>(XMLMapperBuilder.java:61)

at org.apache.ibatis.builder.xml.XMLMapperBuilder.<init>(XMLMapperBuilder.java:56)

at org.apache.ibatis.builder.annotation.MapperAnnotationBuilder.loadXmlResource(MapperAnnotationBuilder.java:118)

at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)

at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)

at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)

at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:232)

at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)

at org.apache.ibatis.parsing.XPathParser.createDocument(XPathParser.java:236)

... 60 more

分享到:
评论

相关推荐

    flex 中 && 符号的写法

    如果你遇到这样的问题: The entity name must immediately follow the '&' in the entity reference 说明你的& 符号写的有问题

    org.apache.http.entity.mime

    `org.apache.http.entity.mime`是Apache HttpClient库中的一个模块,主要负责处理MIME(Multipurpose Internet Mail Extensions)格式的数据,特别是在HTTP请求中用于上传文件或复杂数据时。这个模块是Apache ...

    org.apache.http.entity.mime和org.apache.http.legacy

    在提供的信息中,我们关注的是两个特定的模块:"org.apache.http.entity.mime" 和 "org.apache.http.legacy"。 首先,`org.apache.http.entity.mime` 是 Apache HttpClient 库的一个子模块,专门用于处理MIME(多...

    MySql.Data.Entity.6.10.9 + MySql.Data.6.10.9

    MySQL.Data.Entity.6.10.9 和 MySQL.Data.6.10.9 是两个针对MySQL数据库操作的重要组件,主要用于.NET Framework环境中的Entity Framework(EF)集成。在本篇文章中,我们将深入探讨这两个库以及它们如何协同工作,...

    System.Data.Entity

    《深入理解System.Data.Entity》 System.Data.Entity是.NET框架中一个关键的部分,它构成了Entity Framework的核心,这是一个强大的对象关系映射(ORM)框架,用于简化数据库操作。ORM允许开发人员使用面向对象的...

    Z.EntityFramework.Extensions.EFCore6.13.1.zip

    《深入理解Z.EntityFramework.Extensions.EFCore6.13.1:多版本支持与BulkInsert功能》 Z.EntityFramework.Extensions是一款针对Entity Framework Core(简称EF Core)的扩展库,它提供了丰富的功能,增强了数据库...

    Z.EntityFramework.Extensions破解 注册机

    Z.EntityFramework.Extensions 破解 注册机,详细破解方法

    Z.EntityFramework.Extensions破解版

    Z.EntityFramework.Extensions,基于2019年7月,3.21.2.0去除每月验证和强签名。适合.net4.0及以上

    Z.EntityFramework.Extensions.EFCore.dll2.1.49EFCore破解

    替换C:\Users\xxxxx\.nuget\packages\z.entityframework.extensions.efcore\2.1.49\lib\netstandard2.0下的Z.EntityFramework.Extensions.EFCore.dll。适用于.net core的ef,解除了1个月使用的限制。

    Z.EntityFramework.Extensions.dll破解版

    Z.EntityFramework.Extensions.dll 破解版,我们在用EF开发时 会有版权报错 要求license,这个dll是我用工具破解的

    Wrox.Professional.ADO.NET.3.5.with.LINQ.and.the.Entity.Framework.Feb.2009.rar

    《Wrox Professional ADO.NET 3.5 with LINQ and the Entity Framework》是针对.NET Framework 3.5中数据访问技术的重要参考资料。该书详细介绍了ADO.NET 3.5、LINQ(Language Integrated Query)以及Entity ...

    MySql.Data.Entity.dll

    MySql.Data.Entit

    Wrox.Professional.ADO.NET.3.5.with.LINQ.and.the.Entity.Framework.Feb.2009

    《Wrox Professional ADO.NET 3.5 with LINQ and the Entity Framework》是针对.NET Framework 3.5中数据访问技术的重要参考资料。本书深入探讨了ADO.NET 3.5、LINQ(Language Integrated Query,语言集成查询)以及...

    Z.EntityFramework.Extensions注册机

    **Z.EntityFramework.Extensions注册机** 在IT行业中,Entity Framework(EF)是.NET框架下的一款非常流行的对象关系映射(ORM)工具,它允许开发者使用面向对象的编程方式来操作数据库,而无需关注底层的SQL语句。...

    Wrox.Professional.ADO.NET.3.5.with.LINQ.and.the.Entity.Framework

    《Wrox.Professional.ADO.NET.3.5.with.LINQ.and.the.Entity.Framework》这本书是针对.NET Framework 3.5版本中ADO.NET的重大更新,特别是引入了LINQ(Language Integrated Query,语言集成查询)和Entity Framework...

    org.apache.http.httpentity jar包-系列jar包

    import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.conn.scheme.Scheme; ...

    z.entityframework.extensions注册机|zzz通用注册机

    Z.EntityFramework.Extensions注册机 破解 内含使用截图

    z.entityframework.extensions解

    被donet坑了,nuget里更新的dll既然有试用期,有张表数据莫名被删,查时间点,极度怀疑是z.entityframework.extensions的问题,csdn里的太坑,要43个积分,穷人只好找别的地方弄了一个,2个积分拿走不谢

    httpmime-4.1.2.jar org.apache.http.entity.mime

    ... ...它主要关注MIME(Multipurpose Internet Mail Extensions)规范,用于定义邮件和其他互联网协议中的数据格式。... - 在4.1.2版本中,这个库已经相当成熟,解决了许多早期版本的已知问题,增强了稳定性和兼容性。...

Global site tag (gtag.js) - Google Analytics