There is no statement named User.login in this SqlMap. 让小弟我很莫名

There is no statement named User.login in this SqlMap. 让我很莫名com.ibatis.sqlmap.client.SqlMapExc

There is no statement named User.login in this SqlMap. 让我很莫名

com.ibatis.sqlmap.client.SqlMapException: There is no statement named User.login in this SqlMap.


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="32" maxSessions="10" maxTransactions="5" useStatementNamespaces="true" /><sqlMap resource="com/lhq/prj/bms/po/xml/User.xml" /></sqlMapConfig>


UserDao.java 代码如下:
package com.lhq.prj.bms.dao.impl;import java.util.List;import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;import com.lhq.prj.bms.core.Page;import com.lhq.prj.bms.dao.IUserDao;import com.lhq.prj.bms.po.User;/** * 用户管理持久层实现 * @author Administrator * */public class UserDao extends SqlMapClientDaoSupport implements IUserDao {public Integer deleteById(Integer userId) {// TODO Auto-generated method stubreturn getSqlMapClientTemplate().delete("User.deleteById", userId);}public int findByCount(Page page) {// TODO Auto-generated method stubreturn (Integer) getSqlMapClientTemplate().queryForObject("User.findByCount", page);}public List findByExample(User user) {// TODO Auto-generated method stubreturn getSqlMapClientTemplate().queryForList("User.findByExample", user);}public Object saveUser(User user) {// TODO Auto-generated method stubreturn getSqlMapClientTemplate().insert("User.save", user);}public Integer update(User user) throws Exception {// TODO Auto-generated method stubreturn getSqlMapClientTemplate().update("User.update", user);}public List findByPage(Page page) {// TODO Auto-generated method stubreturn getSqlMapClientTemplate().queryForList("User.findByPage", page);}public User login(User user) {// TODO Auto-generated method stubreturn (User) getSqlMapClientTemplate().queryForObject("User.login", user);}}


User.xml代码如下:
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE sqlMap          PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"          "http://ibatis.apache.org/dtd/sql-map-2.dtd"><sqlMap namespace="User"><typeAlias alias="user" type="com.lhq.prj.bms.po.User" /><typeAlias alias="page" type="com.lhq.prj.bms.core.Page" /><parameterMap id="pm_user_without_id"><parameter property="emplName" javaType="string" jdbcType="VARCHAR" /><parameter property="emplNo" javaType="string" jdbcType="VARCHAR" /><parameter property="mobilePhone" javaType="string" jdbcType="VARCHAR" /><parameter property="sex" javaType="string" jdbcType="VARCHAR" /><parameter property="age" javaType="integer" jdbcType="NUMBER" /><parameter property="userName" javaType="string" jdbcType="VARCHAR" /><parameter property="password" javaType="string" jdbcType="VARCHAR" /><parameter property="companyId" javaType="integer" jdbcType="NUMBER" /><parameter property="companyName" javaType="string" jdbcType="VARCHAR" /><parameter property="deptId" javaType="integer" jdbcType="NUMBER" /><parameter property="deptName" javaType="string" jdbcType="VARCHAR" /><parameter property="dutyId" javaType="integer" jdbcType="NUMBER" /><parameter property="dutyName" javaType="string" jdbcType="VARCHAR" /><parameter property="manager" javaType="boolean" jdbcType="BIT" /><parameter property="remark" javaType="string" jdbcType="VARCHAR" /></parameterMap><sql id="byUserIdCondition"><![CDATA[   userId = #userId:NUMBER#    ]]></sql><insert id="save" parameterMap="pm_user_without_id"><![CDATA[INSERT INTO t_user (emplName,emplNo,mobilePhone,sex,age,userName,password,companyId,companyName,deptId,deptName,dutyId,dutyName,manager,remark)  VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]]><selectKey resultparameter/></dynamic></delete><update id="update" parameterprepend=","><![CDATA[emplName = #emplName:VARCHAR#]]></isNotNull><isNotNull property="emplNo" prepend=","><![CDATA[emplNo = #emplNo:VARCHAR#]]></isNotNull><isNotNull property="mobilePhone" prepend=","><![CDATA[mobilePhone = #mobilePhone:VARCHAR#]]></isNotNull><isNotNull property="sex" prepend=","><![CDATA[sex = #sex:VARCHAR#]]></isNotNull><isNotNull property="age" prepend=","><![CDATA[age = #age:NUMBER#]]></isNotNull><isNotNull property="userName" prepend=","><![CDATA[userName = #userName:VARCHAR#]]></isNotNull><isNotNull property="password" prepend=","><![CDATA[password = #password:VARCHAR#]]></isNotNull><isNotNull property="companyId" prepend=","><![CDATA[companyId = #companyId:NUMBER#]]></isNotNull><isNotNull property="companyName" prepend=","><![CDATA[companyName = #companyName:VARCHAR#]]></isNotNull><isNotNull property="deptId" prepend=","><![CDATA[deptId = #deptId:NUMBER#]]></isNotNull><isNotNull property="deptName" prepend=","><![CDATA[deptName = #deptName:VARCHAR#]]></isNotNull><isNotNull property="dutyId" prepend=","><![CDATA[dutyId = #dutyId:NUMBER#]]></isNotNull><isNotNull property="dutyName" prepend=","><![CDATA[dutyName = #dutyName:VARCHAR#]]></isNotNull><isNotNull property="manager" prepend=","><![CDATA[manager = #manager:BIT#]]></isNotNull><isNotNull property="remark" prepend=","><![CDATA[remark = #remark:VARCHAR#]]></isNotNull></dynamic><dynamic prepend="WHERE"><include refid="byUserIdCondition" /></dynamic></update><sql id="findUserByPageCondition"><isNotEmpty property="conditions"><iterate property="conditions" open="(" close=")" conjunction="OR"><![CDATA[upper(emplName) LIKE '%' + upper(#conditions[]:VARCHAR#) + '%'    OR upper(emplNo) LIKE '%' + upper(#conditions[]:VARCHAR#) + '%'        OR upper(mobilePhone) LIKE '%' + upper(#conditions[]:VARCHAR#) + '%'        OR upper(sex) LIKE '%' + upper(#conditions[]:VARCHAR#) + '%'        OR upper(userName) LIKE '%' + upper(#conditions[]:VARCHAR#) + '%'        OR upper(companyName) LIKE '%' + upper(#conditions[]:VARCHAR#) + '%'        OR upper(deptName) LIKE '%' + upper(#conditions[]:VARCHAR#) + '%'        OR upper(dutyName) LIKE '%' + upper(#conditions[]:VARCHAR#) + '%'        OR upper(remark) LIKE '%' + upper(#conditions[]:VARCHAR#) + '%'     ]]></iterate></isNotEmpty></sql><select id="findByPage" parameterresult/></dynamic><![CDATA[]]><dynamic prepend="AND"><include refid="findUserByPageCondition" /></dynamic><![CDATA[ORDER BY userId limit $start$,$limit$]]></select><select id="findByCount" parameterresult/></dynamic></select><select id="login" parameterresultparameterresultprepend="AND">userId = #userId:NUMBER#</isNotNull><isNotNull property="emplName" prepend="AND">emplName LIKE '%' + #emplName:VARCHAR# + '%'</isNotNull><isNotNull property="emplNo" prepend="AND">emplNo LIKE '%' + #emplNo:VARCHAR# + '%'</isNotNull><isNotNull property="mobilePhone" prepend="AND">mobilePhone LIKE '%' + #mobilePhone:VARCHAR# + '%'</isNotNull><isNotNull property="sex" prepend="AND">sex = #sex:VARCHAR#</isNotNull><isNotNull property="age" prepend="AND">age = #sex:NUMBER#</isNotNull><isNotNull property="userName" prepend="AND">userName = #userName:VARCHAR#</isNotNull><isNotNull property="password" prepend="AND">password = #password:VARCHAR#</isNotNull><isNotNull property="companyId" prepend="AND">companyId = #companyId:NUMBER#</isNotNull><isNotNull property="companyName" prepend="AND">companyName LIKE '%' + #companyName:VARCHAR# + '%'</isNotNull><isNotNull property="deptId" prepend="AND">deptId = #deptId:NUMBER#</isNotNull><isNotNull property="deptName" prepend="AND">deptName LIKE '%' + #deptName:VARCHAR# + '%'</isNotNull><isNotNull property="dutyId" prepend="AND">dutyId = #dutyId:NUMBER#</isNotNull><isNotNull property="dutyName" prepend="AND">dutyName LIKE '%' + #dutyName:VARCHAR# + '%'</isNotNull><isNotNull property="manager" prepend="AND">manager = #manager:BIT#</isNotNull></dynamic></select></sqlMap>



错误原因:User.xml中没有定义命名空间
<sqlMap namespace="User">