ibatis 配置文件中不要加中文字符 会导致xml读取出错
特别是在window下不报错,但在linux下会报错。这个问题很烦人,如果你不知道,排除这个问题,你会感觉很痛苦,到处找原因找不到,我发现了,与大家共享,希望大家碰上这个问题能省点时间
报如下错误:
java.lang.ExceptionInInitializerError
at service.CustomerService.<init>(CustomerService.java:12)
at service.CustomerService.<clinit>(CustomerService.java:11)
at command.LoginCommand.execute(LoginCommand.java:24)
at control.Control.UserDoAction(Control.java:20)
at control.Control.doGet(Control.java:30)
at control.Control.doPost(Control.java:37)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.caucho.server.http.FilterChainServlet.doFilter(FilterChainServlet.java:96)
at com.caucho.server.http.Invocation.service(Invocation.java:315)
at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:135)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:253)
at com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:171)
at com.caucho.server.TcpConnection.run(TcpConnection.java:139)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.lang.RuntimeException: 初始化ibatis(manager)异常: com.ibatis.dao.client.DaoException:
Error while configuring DaoManager. Cause: com.ibatis.common.exception.NestedRuntimeException:
Error occurred. Cause: com.ibatis.common.xml.NodeletException: Error parsing
XML. Cause: com.ibatis.common.exception.NestedRuntimeException: Error
parsing XPath '/sqlMapConfig/sqlMap'. Cause: com.ibatis.common.xml.NodeletException:
Error parsing XML. Cause: com.caucho.xml.XmlParseException: stream:49:
bad character fffd
Caused by: com.caucho.xml.XmlParseException: stream:49: bad character fffd
Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML.
Cause: com.caucho.xml.XmlParseException: stream:49: bad character fffd
Caused by: com.caucho.xml.XmlParseException: stream:49: bad character fffd
Caused by: com.ibatis.common.exception.NestedRuntimeException: Error parsing
XPath '/sqlMapConfig/sqlMap'. Cause: com.ibatis.common.xml.NodeletException:
Error parsing XML. Cause: com.caucho.xml.XmlParseException: stream:49:
bad character fffd
Caused by: com.caucho.xml.XmlParseException: stream:49: bad character fffd
Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML.
Cause: com.caucho.xml.XmlParseException: stream:49: bad character fffd
Caused by: com.caucho.xml.XmlParseException: stream:49: bad character fffd
Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML.
Cause: com.ibatis.common.exception.NestedRuntimeException: Error parsing
XPath '/sqlMapConfig/sqlMap'. Cause: com.ibatis.common.xml.NodeletException:
Error parsing XML. Cause: com.caucho.xml.XmlParseException: stream:49:
bad character fffd
Caused by: com.caucho.xml.XmlParseException: stream:49: bad character fffd
Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML.
Cause: com.caucho.xml.XmlParseException: stream:49: bad character fffd
Caused by: com.caucho.xml.XmlParseException: stream:49: bad character fffd
Caused by: com.ibatis.common.exception.NestedRuntimeException: Error parsing
XPath '/sqlMapConfig/sqlMap'. Cause: com.ibatis.common.xml.NodeletException:
Error parsing XML. Cause: com.caucho.xml.XmlParseException: stream:49:
bad character fffd
Caused by: com.caucho.xml.XmlParseException: stream:49: bad character fffd
Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML.
Cause: com.caucho.xml.XmlParseException: stream:49: bad character fffd
Caused by: com.caucho.xml.XmlParseException: stream:49: bad character fffd
Caused by: com.ibatis.common.exception.NestedRuntimeException: Error occurred.
Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause:
com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath
'/sqlMapConfig/sqlMap'. Cause: com.ibatis.common.xml.NodeletException:
Error parsing XML. Cause: com.caucho.xml.XmlParseException: stream:49:
bad character fffd
Caused by: com.caucho.xml.XmlParseException: stream:49: bad character fffd
Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML.
Cause: com.caucho.xml.XmlParseException: stream:49: bad character fffd
Caused by: com.caucho.xml.XmlParseException: stream:49: bad character fffd
Caused by: com.ibatis.common.exception.NestedRuntimeException: Error parsing
XPath '/sqlMapConfig/sqlMap'. Cause: com.ibatis.common.xml.NodeletException:
Error parsing XML. Cause: com.caucho.xml.XmlParseException: stream:49:
bad character fffd
Caused by: com.caucho.xml.XmlParseException: stream:49: bad character fffd
Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML.
Cause: com.caucho.xml.XmlParseException: stream:49: bad character fffd
Caused by: com.caucho.xml.XmlParseException: stream:49: bad character fffd
Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML.
Cause: com.ibatis.common.exception.NestedRuntimeException: Error parsing
XPath '/sqlMapConfig/sqlMap'. Cause: com.ibatis.common.xml.NodeletException:
Error parsing XML. Cause: com.caucho.xml.XmlParseException: stream:49:
bad character fffd
Caused by: com.caucho.xml.XmlParseException: stream:49: bad character fffd
Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML.
Cause: com.caucho.xml.XmlParseException: stream:49: bad character fffd
Caused by: com.caucho.xml.XmlParseException: stream:49: bad character fffd
Caused by: com.ibatis.common.exception.NestedRuntimeException: Error parsing
XPath '/sqlMapConfig/sqlMap'. Cause: com.ibatis.common.xml.NodeletException:
Error parsing XML. Cause: com.caucho.xml.XmlParseException: stream:49:
bad character fffd
Caused by: com.caucho.xml.XmlParseException: stream:49: bad character fffd
Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML.
Cause: com.caucho.xml.XmlParseException: stream:49: bad character fffd
Caused by: com.caucho.xml.XmlParseException: stream:49: bad character fffd
at persistence.ManagerDAOConfig.<clinit>(ManagerDAOConfig.java:17)
... 15 more
分享到:
相关推荐
要开始使用 Ibatis,首先需要从官方网站下载最新版本的 ibatis jar 包,以及 log4j 日志框架的 jar 包。然后,在Java项目中添加这些库,配置log4j.properties以开启SQL日志输出。接着,新建主配置文件sqlMapConfig....
自己写了一个Ibatis入门文件 JDK用的1.4 ibatis用的2.3.0 一定要注意版本问题,不然出现本本不兼容很费劲,我调了一上午,注意一定要用JDK1.4 ibatis2.3.0! 数据库自己建一张简单的表就行了,特别说明 只适合新手...
### 解决IBatis缓存动态字段问题 #### 背景与问题描述 在使用IBatis框架处理数据库操作时,可能会遇到动态数据表名、动态字段名的情况。这种情况下,由于IBatis的缓存机制,可能导致字段找不到的问题。具体表现为...
本地缓存作用于单个SqlSession,而二级缓存则可以在多个SqlSession之间共享,但需要注意并发控制和数据一致性问题。 8. **插件支持**:Ibatis允许开发者编写自定义插件,通过拦截器模式对SqlSession或Executor的...
Ibatis,全称为MyBatis,是一个优秀的Java持久层框架,它主要负责SQL映射,使得开发者能够将注意力集中在编写SQL语句上,而无需关注JDBC代码的编写。Ibatis消除了几乎所有的JDBC代码和手动设置参数以及获取结果集的...
iBatis可以被看作是一个半自动化 ORM(对象关系映射)框架,它对JDBC的操作进行了封装,使得开发者能够将注意力集中在SQL语句上,而不需要处理大量的JDBC代码。 **iBatis与Oracle数据库的集成** Oracle是企业级...
为了解决这个问题,ibatis(现已更名为MyBatis)提供了一种支持批量更新的机制,能够显著提高数据处理的速度。 #### 批量Update背景与问题 在实际应用中,经常会遇到需要批量更新数据库中的数据的情况,例如:商品...
本案例将聚焦于如何使用Ibatis操作两个有关系的表。 Ibatis的核心思想是将SQL语句写在XML配置文件中,通过映射关系将Java对象与数据库中的记录对应起来。在处理两个有关系的表时,Ibatis提供了多种策略,如一对一、...
在实际开发中,一定要注意数据编码的一致性,从数据库到应用程序,再到用户界面,每个环节都要做好编码的匹配和转换工作。对于`ibatisdemo`这个项目,你可以按照上述方法检查并调整项目的配置,以解决可能出现的乱码...
本篇文章将深入探讨如何使用XML配置文件来配置iBATIS,以解决你在实际开发中可能遇到的各种问题。 首先,我们了解iBATIS的核心概念——映射器(Mapper)。映射器是定义SQL语句的地方,而XML配置文件是映射器的主要...
在本篇文章中,我们将深入探讨如何使用 Java 编程语言结合 iBatis 框架进行 SQL 字符串的动态拼接。通过分析提供的代码片段,我们可以了解到在实际开发过程中,这种动态 SQL 的构建方式非常常见,尤其是在处理复杂的...
在使用Ibatis 2.3.4版本时,需要注意的是,虽然这是一个较老的版本,但它已经足够稳定,能满足大部分基本需求。然而,对于新的项目,可能需要考虑升级到Ibatis的最新版本(目前是3.x),以利用其更丰富的特性,如...
关于从文档复制代码的问题,以及ibatis的概述、如何开始使用ibatis、构建SqlSessionFactory的方法(包括通过XML和不使用XML的方式)、获取SqlSession的过程、探索映射SQL语句的方法、命名空间的注意事项、作用域与...
10. **最佳实践**:提供在实际项目中使用iBatis的最佳实践建议,帮助开发者避免常见问题,提升开发效率。 通过阅读《iBatis 2.0 开发指南》,开发者不仅可以掌握iBatis的基本用法,还能深入了解其设计思想,从而更...
这个开发文档集合包含了"iBATIS SQL Maps 开发指南"、"iBATIS SQL Maps入门教程"以及"ibatis 开发指南"等资源,旨在帮助开发者深入理解和有效地使用iBATIS.NET。 iBATIS的核心理念是将SQL语句与应用程序代码分离,...
标题 "iBatis" 涉及到的知识点主要集中在两个核心领域:iBatis框架本身和它与Spring框架的整合。以下是对这些知识点的详细解释: 1. iBatis框架: - iBatis是一个优秀的持久层框架,它允许程序员将SQL语句直接写在...
在使用iBATIS3时,需要注意以下几点: - **命名空间**:每个映射文件都应该有一个唯一的命名空间,用于区分不同的映射文件,避免命名冲突。 - **生命周期管理**:正确管理`SqlSessionFactory`和`SqlSession`的生命...
在使用iBatis进行数据库操作的过程中,可能会遇到各种各样的问题。这些问题往往由于iBatis错误信息的隐晦性而难以快速定位与解决。本文将根据所提供的标题、描述及部分内容,详细阐述在使用iBatis时可能遇到的一些...
- 合理利用缓存,但要注意数据一致性问题。 - 了解并掌握iBatis的事务管理,根据应用需求选择合适的事务隔离级别。 通过阅读和理解iBatis 2.3的源码,开发者可以更深入地了解数据库访问的底层实现,提高代码质量...
Ibatis,全称为MyBatis,是一个优秀的Java持久层框架,它主要负责简化数据库操作,使得开发者能够将注意力集中在SQL语句的编写上,而无需过多关注底层的JDBC代码。Ibatis的核心思想是将SQL语句与Java代码分离,通过...