当前位置:编程学习 > JAVA >>

加急:Ibatis There is no statement named问题

ibatis程序出现了问题:

com.ibatis.sqlmap.client.SqlMapException: There is no statement named PeopleInfo.checkLoginUser in this SqlMap.
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.getMappedStatement(SqlMapExecutorDelegate.java:231)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:509)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:493)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject(SqlMapSessionImpl.java:106)
at org.springframework.orm.ibatis.SqlMapClientTemplate$1.doInSqlMapClient


以下是我的代码
SqlMapConfig.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig         
    PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"         
    "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<settings cacheModelsEnabled="true" enhancementEnabled="true"
lazyLoadingEnabled="true" maxRequests="200" maxSessions="100"
maxTransactions="20" useStatementNamespaces="true" />
<sqlMap resource="gentleman/frame/mapper/PeopleInfo.map.xml" />
</sqlMapConfig>



PeopleInfo.map.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap 
    PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" 
    "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="PeopleInfo"> <typeAlias alias="peopleInfo" type="gentleman.frame.model.PeopleInfo" />
<!-- 查询所有的用户 -->
<select id="checkLoginUser" resultClass="peopleInfo">
select * from ZHANG_TEST_PEOPLEINFO where name=${name} and 1 = 1;
</select>
</sqlMap>


dao层:

return (PeopleInfo) this.getSqlMapClientTemplate().queryForObject("PeopleInfo.checkLoginUser", peopleInfo);

目录结构:


百度了很久还是没找到解决的方法。
这是哪里的问题? --------------------编程问答-------------------- 现在还用ibatis哇, --------------------编程问答-------------------- 哥们,解决没,我在网上找了半天也没找到合适的方法啊!!! --------------------编程问答-------------------- 调用PeopleInfo.checkLoginUser出错了,不能这样调用,只能调用 ID,不能加上命名空间,这样定义:
<select id="PeopleInfo.checkLoginUser" resultClass="peopleInfo">
        select * from ZHANG_TEST_PEOPLEINFO where name=${name} and 1 = 1;
    </select>
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,