1.配置如下
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd"><sqlMap namespace="User"> <typeAlias alias="user" type="com.telin.domain.User" /> <cacheModel id="userCache" type="LRU" readOnly="true" serialize="false">
<flushInterval hours="24" />
<flushOnExecute statement="updateUser" />
<property name="size" value="1000" />
</cacheModel> <resultMap id="userResult" class="user">
<result property="id" column="id" />
<result property="name" column="name" />
<result property="sex" column="sex" />
</resultMap> <update id="updateUser" parameterClass="user"
cacheModel="userCache">
<![CDATA[
UPDATE t_user
SET
name=#name#,
sex=#sex#
WHERE id = #id#
]]>
</update></sqlMap>
2.测试代码
User user = new User();
user.setId(new Integer(8));
user.setName("we are good !");
sqlMapClient.update("updateUser", user);3.出现如下问题:
Caused by:
org.xml.sax.SAXParseException: Attribute "cacheModel" must be declared for element type "update".
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.addDTDDefaultAttrsAndValidate(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleStartElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at com.ibatis.common.xml.NodeletParser.createDocument(NodeletParser.java:150)
at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:50)
at com.ibatis.sqlmap.engine.builder.xml.SqlMapParser.parse(SqlMapParser.java:45)
at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser$11.process(SqlMapConfigParser.java:347)
at com.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:112)
at com.ibatis.common.xml.NodeletParser.process(NodeletParser.java:75)
at com.ibatis.common.xml.NodeletParser.process(NodeletParser.java:93)
at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:63)
at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:51)
at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:78)
at com.ibatis.sqlmap.client.SqlMapClientBuilder.buildSqlMapClient(SqlMapClientBuilder.java:62)
at com.telin.dao.Test.main(Test.java:27)
而如果把缓存设置删掉,那么更新成功!为什么呢?????????????????
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd"><sqlMap namespace="User"> <typeAlias alias="user" type="com.telin.domain.User" /> <cacheModel id="userCache" type="LRU" readOnly="true" serialize="false">
<flushInterval hours="24" />
<flushOnExecute statement="updateUser" />
<property name="size" value="1000" />
</cacheModel> <resultMap id="userResult" class="user">
<result property="id" column="id" />
<result property="name" column="name" />
<result property="sex" column="sex" />
</resultMap> <update id="updateUser" parameterClass="user"
cacheModel="userCache">
<![CDATA[
UPDATE t_user
SET
name=#name#,
sex=#sex#
WHERE id = #id#
]]>
</update></sqlMap>
2.测试代码
User user = new User();
user.setId(new Integer(8));
user.setName("we are good !");
sqlMapClient.update("updateUser", user);3.出现如下问题:
Caused by:
org.xml.sax.SAXParseException: Attribute "cacheModel" must be declared for element type "update".
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.addDTDDefaultAttrsAndValidate(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleStartElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at com.ibatis.common.xml.NodeletParser.createDocument(NodeletParser.java:150)
at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:50)
at com.ibatis.sqlmap.engine.builder.xml.SqlMapParser.parse(SqlMapParser.java:45)
at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser$11.process(SqlMapConfigParser.java:347)
at com.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:112)
at com.ibatis.common.xml.NodeletParser.process(NodeletParser.java:75)
at com.ibatis.common.xml.NodeletParser.process(NodeletParser.java:93)
at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:63)
at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:51)
at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:78)
at com.ibatis.sqlmap.client.SqlMapClientBuilder.buildSqlMapClient(SqlMapClientBuilder.java:62)
at com.telin.dao.Test.main(Test.java:27)
而如果把缓存设置删掉,那么更新成功!为什么呢?????????????????
解决方案 »
- 浮点型相减出现的奇怪问题
- 用java实现输入IP地址查询出相对应的省市 求助高手
- 什么情况帮忙分析一下:An error has occurred.see error log for more details.
- 请问java 如何解压缩unix下compress的压缩类(.Z文件)
- 散分100分 求最简练的struts分页和动态树 的代码实列
- ssh2问题,急急急
- spring+hibernate中遇到的一个简单但是很奇怪的问题,大家请进来看一下,多谢!!顺便还有spring的书相送!!
- ftp文件下栽如何实现续传?
- 求助:连接JDBC除了问题了!
- 测试时向数据库中输入测试数据是件很麻烦的事,有没有相关的软件自动输入随机测试数据?
- 怎么理解activeMQ 中的broker?
- axis2性能问题
你这里 不是设置了 只读吗??
那你还更新只读缓存干嘛呢?? .....更改如下:
readOnly="false"