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 stub
return getSqlMapClientTemplate().delete("User.deleteById", userId);
}

public int findByCount(Page page) {
// TODO Auto-generated method stub
return (Integer) getSqlMapClientTemplate().queryForObject("User.findByCount", page);
}

public List findByExample(User user) {
// TODO Auto-generated method stub
return getSqlMapClientTemplate().queryForList("User.findByExample", user);
}

public Object saveUser(User user) {
// TODO Auto-generated method stub
return getSqlMapClientTemplate().insert("User.save", user);
}

public Integer update(User user) throws Exception {
// TODO Auto-generated method stub
return getSqlMapClientTemplate().update("User.update", user);
}

public List findByPage(Page page) {
// TODO Auto-generated method stub
return getSqlMapClientTemplate().queryForList("User.findByPage", page);
}

public User login(User user) {
// TODO Auto-generated method stub
return (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 class="user" 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 resultClass="int">
<![CDATA[
SELECT @@IDENTITY AS ID
]]>
</selectKey>
</insert>

<delete id="deleteById" parameterClass="integer">
<![CDATA[
delete t_user
]]>
<dynamic prepend="WHERE">
<include refid="byUserIdCondition" />
</dynamic>
</delete>

<update id="update" parameterClass="user">
<![CDATA[
UPDATE t_user
]]>
<dynamic prepend="SET">
<isNotNull property="emplName" prepend=",">
<![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" parameterClass="page" resultClass="user">
<![CDATA[
SELECT * FROM t_user
]]>
<dynamic prepend="WHERE">
<include refid="findUserByPageCondition" />
</dynamic>
<![CDATA[
]]>
<dynamic prepend="AND">
<include refid="findUserByPageCondition" />
</dynamic>
<![CDATA[
ORDER BY userId limit $start$,$limit$
]]>
</select>

<select id="findByCount" parameterClass="page" resultClass="int">
<![CDATA[
SELECT COUNT(*) FROM t_user
]]>
<dynamic prepend="WHERE">
<include refid="findUserByPageCondition" />
</dynamic>
</select>

<select id="login" parameterClass="user" resultClass="user">
<![CDATA[
SELECT * FROM t_user
WHERE userName = #userName:VARCHAR# and password = #password:VARCHAR#
]]>
</select>

<select id="findByExample" parameterClass="user" resultClass="user">
<![CDATA[
SELECT * FROM t_user
]]>
<dynamic prepend="WHERE">
<isNotNull property="userId" prepend="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">
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值