`
lfq618
  • 浏览: 88904 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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">
分享到:
评论

相关推荐

    sqlmap.py 脚本 sqlmap-master.zip

    ./sqlmap.py –h //查看帮助信息 ./sqlmap.py –u “http://www.anti-x.net/inject.asp?id=injecthere” //get注入 ./sqlmap.py –u “http://www.anti-x.net/inject.asp?id=injecthere” --data “DATA”//post...

    ibatis-sqlmap-2.3.4.726-sources.jar.zip_birth84v_cutting1v2_ibat

    《深入解析iBatis-SQLMap 2.3.4.726源码》 在Java开发领域,iBatis作为一个优秀的持久层框架,深受广大开发者喜爱。它将SQL语句与Java代码分离,提高了代码的可读性和可维护性。本篇将围绕iBatis-SQLMap 2.3.4.726...

    sqlmap手册.zip

    ./sqlmap.py -u http://www.evil0x.com/ test.php?p=2 -f -b –current-user –current-db –users –passwords –dbs -v 0 2. ./sqlmap.py -u http://www.evil0x.com/ test.php?p=2 -b –passwords -U root –union...

    sqlmap v1.4 用户手册中文版.pdf

    sqlmap v1.4 用户手册中文版.pdf

    SQLmap压缩包,SQLmap压缩包

    这个压缩包`sqlmapproject-sqlmap-1230e57`很可能包含了SQLmap的源代码或者特定版本的二进制文件。 SQL注入是一种常见的网络安全攻击手段,通过构造恶意的SQL语句来控制或访问数据库。SQLmap的工作原理是自动化地...

    SQLMAP源文件下载

    SQLMAP

    java开发基于SQLmap的SQL注入工具源码.zip

    基于SQLmap的SQL注入工具源码.。基于SQLmap,使用Java开发 安装教程 安装JDK(需要有javafx) 安装Python 安装SQLmap 基于SQLmap的SQL注入工具源码.。基于SQLmap,使用Java开发 安装教程 安装JDK(需要有javafx)...

    直接下载sqlmap工具

    直接下载sqlmap工具

    sqlmap自动扫描器.zip_sqlmap_sqlmap扫描器_sql工具

    SQLMap是一款强大的、自动化SQL注入攻击工具,专为检测和利用SQL注入漏洞而..."Fox-scan-master"提供了可能的定制化扫描选项,让SQLMap的功能更加多样化。在使用时,一定要合法且谨慎,以保护自己和他人的数据安全。

    SQLMAP2018版本中文详解

    sqlmap命令中文详解,2018.5.13更新 sqlmap命令中文详解,2018.5.13更新 sqlmap命令中文详解,2018.5.13更新 sqlmap命令中文详解,2018.5.13更新 sqlmap命令中文详解,2018.5.13更新

    sqlmap-1.3.7-19.zip

    在压缩包`sqlmapproject-sqlmap-c3a95e8`中,`sqlmap`目录很可能包含了源代码、可执行文件、文档和其他相关资源。对于安全专业人士来说,了解和掌握如何使用这个工具是至关重要的,因为它不仅可以用于测试自己的系统...

    Mac电脑安装sqlmap及环境配置.docx

    3. 在 vi 编辑器中,输入 `i` 命令进入插入模式,然后输入以下命令添加 sqlmap 的路径:`alias sqlmap='python /Users/swq/Desktop/SecurityTools/sqlmap-master/sqlmap.py'`。 4. 接下来,输入 `esc` 命令退出插入...

    sqlmap安装包及教程.zip

    首先,让我们深入了解SQLMap的基本概念。SQL注入是一种常见的网络安全威胁,攻击者通过在输入字段中插入恶意SQL代码,以获取未经授权的数据库访问权限。SQLMap利用这一弱点,通过自动化技术探测和利用这些漏洞,可以...

    sqlmap-master.zip

    Sqlmap是一款开源的自动化SQL注入工具,主要用于检测和利用网站应用程序中的SQL注入漏洞。这款工具在信息安全领域广泛应用,帮助安全研究人员、渗透测试人员以及普通用户识别和修复网站的安全隐患。以下将详细介绍...

    第一节 Sqlmap介绍-01

    (Sqlmap 使用 Python 解释器来运行,可以直接在命令行中调用 Python 解释器运行 Sqlmap.py 查看 Sqlmap 版本。 2. 查看 Sqlmap 帮助信息 (Sqlmap 提供了详细的帮助信息,用户可以通过命令行中输入 sqlmap -h 查看...

    sqlmap(sqlmapproject-sqlmap-1.6.4-4-gfb3f428.tar.gz)

    《SQLMap:强大的SQL注入工具详解》 SQLMap是一款开源的自动化SQL注入工具,用于检测和利用SQL注入漏洞。在网络安全领域,SQL注入是一种常见的攻击手段,通过输入恶意的SQL语句来获取、修改、删除数据库中的数据。...

    sqlmap常用语句

    `sqlmap.pysqlmap-u"http://www.mxwz.com/pingyi/admin/index_ry.aspx?deptid=35958"--is-dba-v1` 此命令用于检查当前用户是否具有数据库管理员权限,对于评估潜在风险有重要作用。 #### 16. 数据库用户角色 `...

    ibatis-sqlmap_2.3.4_2.jar两个版本的jar包

    Ibatis-SqlMap是早期非常流行的一款Java持久层框架,由Cody Aravena创建,后被Apache基金会接管并更名为MyBatis。本篇将详细阐述Ibatis-SqlMap 2.3.4和2两个版本的主要知识点。 一、Ibatis-SqlMap简介 Ibatis-...

    iBatis-设置缓存模式-Java源码(下载)

    -- Configure a built-in transaction manager. If you're using an app server, you probably want to use its transaction manager and a managed datasource --&gt; ...

    SQLmap的基础使用.pptx

    二.sqlmap入门假定目标注入点是http://127.0.0.1/sqli/Less-1/?id=1,判断其是否存在注入的命令如下:Sqlmap.py –u http://127.0.0.1/sqli/Less-1/?id=1如果觉得需要按[Y/n]选择,如果不想选择,让它自动选择默认...

Global site tag (gtag.js) - Google Analytics