最近使用IBATIS,运用到了CACHEMODEL
异常如下:
/SqlMapConfig.xml/end() there are no statement named abatorgenerated_deleteByPrimaryKey .
SQLMAPCONFIG。XML文件设置如下:
<settings
cacheModelsEnabled="true"
enhancementEnabled="true"
lazyLoadingEnabled="true"
maxRequests="128"
maxSessions="100"
maxTransactions="5"
useStatementNamespaces="true"
defaultStatementTimeout="5"
statementCachingEnabled="true"
classInfoCacheEnabled="true"
errorTracingEnabled="true"
/>
<sqlMap resource="com/ytx/ztc/model/sqlmap/ft_bet_team_SqlMap.xml"/>
在其运用的XML中配置如下:
ft_bet_team_SqlMap.xml
<cacheModel type="LRU" id="cache_oddsproviderlist" readOnly="true" serialize="true">
<flushInterval hours="24"></flushInterval>
<flushOnExecute statement="odds_provider.abatorgenerated_deleteByPrimaryKey"/>
<flushOnExecute statement="odds_provider.abatorgenerated_deleteByExample"/>
<flushOnExecute statement="odds_provider.abatorgenerated_insert"/>
<flushOnExecute statement="odds_provider.abatorgenerated_updateByPrimaryKey"/>
<flushOnExecute statement="odds_provider.abatorgenerated_updateByPrimaryKeySelective"/>
<property value="cache-size" name="200"/>
</cacheModel>
<select id="getPageOddsProviderList" parameterClass="com.ytx.ztc.model.OddsProvider" resultMap="abatorgenerated_OddsProviderResult">
select * from ft_bet_team
</select>
原因是cacheModel 运行的语句,不能自动加上空间域名。必须手动的添加。如
<flushOnExecute statement="abatorgenerated_deleteByPrimaryKey"/>
上面的就会报找不到这条语句。加上空间名后。如下就没有这个问题了。
<flushOnExecute statement="odds_provider.abatorgenerated_deleteByPrimaryKey"/>
这个问题解决后。但是遇到缓存不起作用??
我第一次把数据查询完成后,有第一次查询的结果集中,通过后台数据库“偷偷”的删除其中一条。
如果缓存应用成功的话,那么会如前一次查询一样,显示出来。
但结果是查询出来的结果里面没有这条记录了??难道我哪个地方配置有误???
现在问题已经解决。。。。原因是在cacheModel 语句的ID中要手动添加空间名。但是在SqlMapConfig.xml
中配置的.也就是说这个 cacehModel是相对全局来说的。而不像XML中的DDL语句.
statementCachingEnabled="true"
不管用了??
分享到:
相关推荐
4. **异常处理**:Ibatis有自己的异常层次结构,如SqlException,用于处理与数据库交互时可能出现的问题。 5. **数据源管理**:Ibatis允许用户自定义数据源,这个jar包可能包含了与数据源配置和管理相关的类。 6. ...
对于异常处理,代码中也做了相应的考虑,确保程序在出现错误时能够正常运行并记录日志。 ### 总结 通过以上分析,我们可以看到ibatis提供的Example模式是一种非常强大的查询工具,能够帮助开发者轻松应对复杂的查询...
4. **提交或回滚事务**:根据业务逻辑的需要决定是否提交事务,或者在出现异常时回滚事务。 ```java if (/* 业务成功 */) { tx.commit(); } else { tx.rollback(); } ``` ### 总结 通过以上配置和代码...
7. **异常处理**:讲解iBATIS的异常体系,如何捕获和处理在数据访问过程中可能出现的异常。 8. **性能优化**:提供一些关于提高iBATIS性能的建议,如合理设计SQL、使用批处理等。 《ibatis.pdf》可能是iBATIS的...
在本篇文章中,我们将深入探讨如何使用 Java 编程语言结合 iBatis 框架进行 SQL 字符串的动态拼接。通过分析提供的代码片段,我们可以了解到在实际开发过程中,这种动态 SQL 的构建方式非常常见,尤其是在处理复杂的...
在使用iBatis进行数据库操作的过程中,可能会遇到各种各样的问题。这些问题往往由于iBatis错误信息的隐晦性而难以快速定位与解决。本文将根据所提供的标题、描述及部分内容,详细阐述在使用iBatis时可能遇到的一些...
9. **Exceptions**: `ibatis.util.Exceptions`类提供了一系列与Ibatis相关的异常,如`IOException`和`SQLException`的包装,便于统一处理错误。 在EMIS系统中,`ibatis.util`包的缺失可能会导致以下问题: - SQL...
3. **异常处理**:Spring框架中的异常处理机制可以很好地与iBATIS相结合,统一处理数据库操作过程中可能出现的各种异常情况。 4. **DAO支持**:Spring为DAO(Data Access Object)提供了丰富的支持,包括DAO抽象层...
3. **异常处理**:可以利用Struts2的全局异常处理配置,统一处理iBatis执行SQL时可能出现的异常。 4. **模型驱动**:将Action中的对象与iBatis的查询结果绑定,简化数据传递过程。 5. **国际化**:Struts2支持国际化...
启用后可以在出现异常时提供更详细的错误信息,便于调试。 - **`maxRequests`**:最大并发请求数,默认值为32。此参数可以防止系统因过多的并发请求而导致资源耗尽。 - **`maxSessions`**:最大会话数,默认值为10...
6. **异常处理**:在调用存储过程时,可能出现SQL异常,需要捕获并适当地处理。例如,使用try-catch语句块捕获`org.apache.ibatis.exceptions.PersistenceException`,然后打印错误信息或进行其他操作。 7. **优化...
- 错误处理: 处理可能出现的异常情况,如数据库连接失败等。 - 测试: 为iBATIS配置和映射文件编写单元测试,确保其正确性。 #### 总结 iBATIS作为一个轻量级的ORM框架,不仅提供了简单易用的数据库访问接口,还...
随着时间的推移,软件会不断迭代优化,因此出现了不同版本的ibatis-common.jar包。这两个版本的主要差异在于功能的增强和bug的修复。ibatis-common-2.jar相较于1.3.1版本,可能会包含更多的特性以及性能上的提升。 ...
8. **异常处理**:学习如何处理iBATIS运行时可能出现的异常,如SqlMapClientException、DataAccessException等。 9. **性能优化**:探讨如何通过缓存机制、批处理、预编译SQL等方式提升iBATIS的性能。 10. **实战...
- 异常处理与事务管理:介绍如何配置和控制事务,以及处理可能出现的异常情况。 4. **高级篇** - MyBatis(iBATIS的升级版)简介:简述iBATIS发展到MyBatis的历程,以及MyBatis的新特性。 - Spring与iBATIS整合...
3. **异常处理**:在调用存储过程时应考虑可能出现的异常情况,并进行适当的错误处理。 ### 五、总结 通过上述步骤,我们可以在ibatis框架中有效地调用数据库中的存储过程。ibatis提供了一种简洁的方式来管理和...
这种方式可以保证数据的完整性和一致性,但如果出现异常,则需要手动回滚事务。 #### 三、基于事务的Spring+iBatis实现 在实际应用中,通常会将iBatis与Spring框架结合使用,利用Spring提供的事务管理能力。在这种...
8. **异常处理**:iBATIS将数据库操作过程中可能出现的异常进行了封装,提供了一套统一的异常处理机制。 使用iBATIS DAO 2.2.0.638,开发者可以更加专注于业务逻辑,而不必深陷于繁琐的JDBC代码中。通过合理地设计...
2. 异常处理:了解iBatis的异常体系,如SqlMapClientException、SQLException等,以便在出现问题时能快速定位和解决。 3. 缓存机制:iBatis内置了本地缓存和二级缓存,有助于减少对数据库的访问频率,提升系统性能。...
4. 异常处理:全局异常处理器捕获并处理可能出现的异常,提供统一的错误反馈。 5. AOP:面向切面编程,例如日志记录、权限控制等可以通过AOP实现。 6. Spring Security:可能用于用户登录验证和权限控制,提供安全的...