ibatis 的 "This SQL map does not contain a MappedStatement"的错误

This SQL map does not contain a MappedStatement named List

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: IBatisNet.DataMapper.Exceptions.DataMapperException: This SQL map does not contain a MappedStatement named Adminf.List

被这个错误搞了几天,反复检查配置文件和xml文件,就是没检查出错误来,后来注意到sql的配置文件有个名字空间的,<sqlMap namespace="Admin" xmlns="http://ibatis.apache.org/mapping
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >

例如我这里是Admin,于是应用的时候我把这句:return Mapper().QueryForList("List", null);改为了return Mapper().QueryForList("Admin.List", null);  居然可以了,没错误了,可以看一些demo程序,它们都不需要这些写啊,到现在也搞不清楚怎么回事,知情者请告诉我一下,谢谢了!

(2014-9-1)现在弄明白了,原来在sqlmap.config文件里面,我设置了useStatementNamespaces =”true”,默认也是true的,就是说使用了Satement命名空间,所以应用的时候必须加上命名空间,这样也好,因为每个表都有select,update等操作,这样好区分,而很多demo例子都是只操作一个表,没有特别指出这样的情况,所以才造成自己这样的错误

时间: 2024-10-12 20:38:36

ibatis 的 "This SQL map does not contain a MappedStatement"的错误的相关文章

Ibatis学习总结2--SQL Map XML 配置文件

SQL Map 使用 XML 配置文件统一配置不同的属性,包括 DataSource 的详细配置信息, SQL Map 和其他可选属性,如线程管理等.以下是 SQL Map 配置文件的一个例子: SqlMapConfig.xml. 1 <?xml version="1.0" encoding="UTF-8" ?> 2 3 <!DOCTYPE sqlMapConfig 4 5 PUBLIC "-//iBATIS.com//DTD SQL M

Ibatis学习总结4--SQL Map XML 映射文件扩展

SQL Map XML 映射文件除了上文提到的属性还有一些其他重要的属性,下文将详细介绍这些属性. 缓存 Mapped Statement 结果集 通过在查询 statement 中指定 cacheModel 属性,可以缓存 Mapped Statement 中得到的查 询结果.Cache  model  是在 SQL  Map  XML  文件中定义的可配置缓存模式,可以使用 cacheModel 元素来配置. 1 <cacheModel id="product-cache"

Ibatis中sqlmap参数map中还需要套list的情况如何写?

原始需求: 有若干个参数,需要作为ibatis拼装sql的参数传入,但是有个参数的值比较特殊,是若干种枚举值.具体到这个case,就是有有限个namespace.我每次需要通过传入多个namespace来查询DB记录. 准备需要传入sqlmap的参数的示例代码如下: Java代码   Map<String,Object> ibatisParam = new HashMap<String, Object>( ); ibatisParam.put( "keyA",&

ibatis实现动态sql处理

package base; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.sql.Connection; import java.sql.ResultSet; import java.util.Calendar; import java.util.Date; import java.util.List; import java.util.Map; import javax.annotati

不需要配置log4j , 调试打印ibatis执行的sql语句和参数

背景:如果不想通过配置log4j的方式来打印ibatis执行的sql语句和参数param,可以使用如下方法在控制台打印sql语句和参数 public static void main(String[] args) { try { //声明配置文件的名称(映射文件被定义在其中) String resource = "com/test/tele/bean/iBatis-config-test.xml"; //利用工具类Resources来读取到配置文件 Reader reader = Re

mybatis和ibatis控制台打印sql语句方法

#将ibatis log4j运行级别调到DEBUG可以在控制台打印出ibatis运行的sql语句 log4j.rootLogger=debug,stdout,logfile### 把日志信息输出到控制台 ###log4j.appender.stdout=org.apache.log4j.ConsoleAppender#log4j.appender.stdout.Target=System.errlog4j.appender.stdout.layout=org.apache.log4j.Simpl

打印出Ibatis最终的SQL语句

做项目时遇到这样的需求,希望能打印出最终数据库执行的SQL语句,一般遇到这些有一定通用性的问题,我都会到Appfuse中去找找例子,结果这次没有成功.它是有相关的配置,但是好像没有用,我也就没有深查下去,我想这种问题网上肯定有人遇到过,只要找到这个人就行了.经过换不同的关键字,我最后找到了如下的配置. log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log

ibatis cannot find &lt;sql&gt; pattern

"Could not find SQL statement to include with refid xxx"A: 认真把每个用到xxx的地方都看一遍 ibatis cannot find <sql> pattern

ibatis/mybatis显示sql语句 log4j.properties配置文件

将ibatis/mybatis log4j运行级别调到DEBUG可以在控制台打印出ibatis运行的sql语句,方便调试: ### 设置Logger输出级别和输出目的地 ### log4j.rootLogger=debug,stdout,logfile ### 把日志信息输出到控制台 ### log4j.appender.stdout=org.apache.log4j.ConsoleAppender #log4j.appender.stdout.Target=System.err log4j.a