`
techno_it
  • 浏览: 54608 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ibatis的cacheModel配置说明

阅读更多
ibatis的cacheModel配置说明具体参见:
http://www.iteye.com/topic/894922
我想说的是按照这篇文章的说明,配置是这样的:
<cacheModel id="model-cache" type="MEMORY" > 
     <flushInterval seconds="60"/> 
     <flushOnExecute statement="insertProduct"/> 
     <flushOnExecute statement="updateProduct"/> 
     <flushOnExecute statement="deleteProduct"/> 
     <property name="size" value="1000" /> 
</cacheModel>

可如果真这么配置是会出问题的。下面是我按上面例子配置后报的错,我的配置如下:
<sqlMap namespace="ConSys">
	<cacheModel type="LRU" id="con-cache">
		<flushInterval hours="10"/>
		<flushOnExecute statement="insertConsys"/>
		<flushOnExecute statement="delConsys"/>
		<flushOnExecute statement="upConsys"/>				
		<property name="size" value="1000"/>
	</cacheModel>
            .
            .
            .
</sqlMap>

注:我的insertConsys,delConsys,upConsys都在配置文件中有配置
这样配置会报:
引用

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlMapClient' defined in URL [file:/D:/eclipse/workspace/PGWebMonitor/WebContent/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is org.springframework.core.NestedIOException: Failed to parse config resource: class path resource [WEB-INF/SqlMapconfig.xml]; nested exception is com.ibatis.common.xml.NodeletException: Error parsing XML.  Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/end()'.  Cause: com.ibatis.sqlmap.client.SqlMapException: There is no statement named insertConsys in this SqlMap.
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:423)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:84)
at org.apache.struts2.StrutsSpringTestCase.setupBeforeInitDispatcher(StrutsSpringTestCase.java:39)
at org.apache.struts2.StrutsTestCase.setUp(StrutsTestCase.java:187)
at test.com.pzhsteel.util.basePara.setUp(basePara.java:16)
at junit.framework.TestCase.runBare(TestCase.java:128)
at junit.framework.TestResult$1.protect(TestResult.java:110)
at junit.framework.TestResult.runProtected(TestResult.java:128)
at junit.framework.TestResult.run(TestResult.java:113)
at junit.framework.TestCase.run(TestCase.java:120)
at junit.framework.TestSuite.runTest(TestSuite.java:228)
at junit.framework.TestSuite.run(TestSuite.java:223)
at org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:35)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Caused by: org.springframework.core.NestedIOException: Failed to parse config resource: class path resource [WEB-INF/SqlMapconfig.xml]; nested exception is com.ibatis.common.xml.NodeletException: Error parsing XML.  Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/end()'.  Cause: com.ibatis.sqlmap.client.SqlMapException: There is no statement named insertConsys in this SqlMap.
at org.springframework.orm.ibatis.SqlMapClientFactoryBean.buildSqlMapClient(SqlMapClientFactoryBean.java:342)
at org.springframework.orm.ibatis.SqlMapClientFactoryBean.afterPropertiesSet(SqlMapClientFactoryBean.java:292)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1369)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
... 30 more
Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML.  Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/end()'.  Cause: com.ibatis.sqlmap.client.SqlMapException: There is no statement named insertConsys in this SqlMap.
at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:62)
at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:62)
at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:55)
at org.springframework.orm.ibatis.SqlMapClientFactoryBean.buildSqlMapClient(SqlMapClientFactoryBean.java:339)
... 33 more
Caused by: java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/end()'.  Cause: com.ibatis.sqlmap.client.SqlMapException: There is no statement named insertConsys in this SqlMap.
at com.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:123)
at com.ibatis.common.xml.NodeletParser.process(NodeletParser.java:105)
at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:72)
at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:60)
... 36 more
Caused by: com.ibatis.sqlmap.client.SqlMapException: There is no statement named insertConsys in this SqlMap.
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.getMappedStatement(SqlMapExecutorDelegate.java:231)
at com.ibatis.sqlmap.engine.config.SqlMapConfiguration.wireUpCacheModels(SqlMapConfiguration.java:242)
at com.ibatis.sqlmap.engine.config.SqlMapConfiguration.finalizeSqlMapConfig(SqlMapConfiguration.java:165)
at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser$1.process(SqlMapConfigParser.java:72)
at com.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:121)
... 39 more

原因是ibatis找不到缺省包下的insertConsys所以你只需要加上报名就好。正确配置如下:
<sqlMap namespace="ConSys">
	<cacheModel type="LRU" id="con-cache">
		<flushInterval hours="10"/>
		<flushOnExecute statement="ConSys.insertConsys"/>
		<flushOnExecute statement="ConSys.delConsys"/>
		<flushOnExecute statement="ConSys.upConsys"/>				
		<property name="size" value="1000"/>
	</cacheModel>
            .
            .
            .
</sqlMap>
分享到:
评论

相关推荐

    IBatis.net 配置各种数据库

    《IBatis.net 配置各种数据库详解》 在软件开发中,数据库的连接与操作是不可或缺的一环。IBatis.net,作为一个轻量级的持久层框架,为开发者提供了灵活的数据映射功能,使得数据库操作变得更为简单。本文将详细...

    ibatis用xml配置文件配置使用

    在IT行业中,iBATIS(现为MyBatis)是一个非常流行的数据访问框架,它将SQL语句与Java代码分离,使得数据库操作更加简洁、灵活。...希望这篇详细说明能帮助你理解和掌握iBATIS的XML配置文件配置使用。

    ibatis 实例 配置 源码

    ibatis 实例 配置 源码 依赖包 ibatis-2.3.4.726.jar commons-logging-api.jar commons-logging-1.1.jar commons-dbcp-1.2.2.jar commons-pool.jar

    Ibatis基本配置---[环境搭建

    Ibatis基本配置---[环境搭建

    ibatis总配置和映射配置.txt

    此文本主要是关于ibatis总配置和映射配置和一些需要主要的细节。

    spring+ibatis事务的配置

    很好的spring+ibatis事务的配置文档.

    ibatis配置文件信息

    ### ibatis配置文件信息 #### 一、简介 在Java开发领域中,ibatis(现称为MyBatis)是一款优秀的持久层框架,它通过XML或注解的方式将接口方法与SQL语句绑定起来,实现对象关系映射(ORM)功能。ibatis的主要优势...

    ibatis 配置文件详解

    ### ibatis配置文件详解 #### 一、ibatis概述 ibatis,又称MyBatis,是一种优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。ibatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。ibatis可以...

    Spring+ibatis 保留ibatis事务的配置

    根据提供的文件信息,本文将详细解析如何在Spring与ibatis框架整合时,通过特定配置来保留ibatis事务处理机制,并实现对事务的自定义控制。文章将围绕标题、描述及部分代码片段展开讨论。 ### Spring与ibatis整合...

    ibatis 缓存配置策略

    iBatis 缓存配置策略是提高数据库查询性能的关键手段之一。iBatis 提供了本地缓存机制,用于存储查询结果集,减少不必要的数据库访问。以下是对iBatis缓存配置策略的深入解析: 首先,iBatis 的 Cache 键(key)是...

    Ibatis的应用和配置

    Ibatis的主要配置文件是`mybatis-config.xml`,它是整个系统的全局配置文件。这个文件中包含了数据源、事务管理器、环境配置、Mappers等重要元素的定义。例如: ```xml ``` 在这个...

    ibatis相关配置

    ### Ibatis配置详解 1. **全局配置文件(ibatis-config.xml)** 全局配置文件是Ibatis系统的起点,它包含了数据源、事务管理器、插件、类型别名等整体设置。例如: ```xml &lt;!DOCTYPE configuration PUBLIC "-/...

    ibatis 注解配置文件

    本篇文章将详细讲解如何在Ibatis中使用注解进行配置,帮助你理解并掌握这一重要技能。 首先,让我们了解Ibatis的基本概念。Ibatis是一个轻量级的Java ORM(对象关系映射)框架,它允许我们编写SQL语句并将其与Java...

    Struts+Spring+Ibatis环境配置(一) - zwjxf的专栏 - 博

    Struts+Spring+Ibatis环境配置(一) - zwjxf的专栏 - 博

    ibatis sqlmap配置详解

    SqlMap的配置是iBatis中应用的核心。这部分任务占据了iBatis开发的70的工作量。Sql Map配置文件是iBatis配置的核心,从数据库连接到执行SQL时使用的sqlMap文件都是通过此文件中的配置提供给框架的,它通常命名为...

    Spring+Struts+ibatis下配置数据读写分离及事务(一)

    在数据读写分离的环境中,iBATIS可以通过配置不同的数据源,分别连接读库和写库。Spring可以管理和切换这些数据源,使得在执行写操作时使用写库,而在读操作时使用读库。 为了实现上述功能,我们需要集成和配置相关...

    ibatis配置文件自动加载组件

    标题 "ibatis配置文件自动加载组件" 涉及的核心技术是MyBatis的自动配置加载功能,这在开发过程中极大地提高了效率,使得开发者无需每次修改XML映射文件后手动重启服务。MyBatis是一个优秀的Java持久层框架,它简化...

    常用ibatis配置

    标题中提到的“常用ibatis配置”指的是在使用iBatis这一数据持久层框架中,常见的配置用法和技术点。iBatis(现称为MyBatis)是一个流行的Java持久层框架,它通过使用XML或注解的方式,将SQL语句与对象进行映射,...

    spring+ibatis配置实例

    "spring+ibatis配置实例"这个项目提供了一个完整的开发环境,包含所需的依赖包和标准化的项目结构,对初学者或开发者来说极具价值。 Spring是一个全面的Java应用框架,它提供了依赖注入(Dependency Injection,DI...

Global site tag (gtag.js) - Google Analytics