首页 > 编程语言 >【Mybatis】java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for

【Mybatis】java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for

时间:2022-11-22 12:34:57浏览次数:48  
标签:lang mapper Statements salary xml IllegalArgumentException birthday user id


【java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for com.myba】错误一般是有以下四个原因造成:

1、mapper.xml中没有加入namespace 
2、mapper.xml中的方法和接口mapper的方法不对应 
3、mapper.xml没有加入到mybatis-config.xml中(即总的配置文件),例外:配置了mapper文件的包路径的除外 
4、mapper.xml文件名和所写的mapper名称不相同。 


我所犯的错就是第2条:

如我写的接口中定义了几个方法:


public interface SUserMapper {

void save(SUser user);
void update(SUser user);
void delete(int id);
SUser findById(int id);
List<SUser> findAll();
}

在定义的 xxxMapper.xml映射文件中的方法要与接口中的方法相同:

<pre name="code" class="html"><?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--
9 spring集成mybatis
namespace:必须与SUserMapper.java接口的报名一致;
id: 必须与接口中定义的方法一致;
-->
<!--定义操作 SUser 表的sql 映射文件:suserMapper.xml -->
<mapper namespace="com.mybatis.test9.SUserMapper">

<select id="save" parameterType="SUser">
INSERT INTO s_user(user_id,user_name,user_birthday,user_salary)
VALUES(#{name},#{birthday},#{salary})
</select>

<select id="update" parameterType="SUser">
update s_user set user_name=#{name},user_birthday =#{birthday} ,user_salary = #{salary}
where id=#{id}
</select>

<select id="delete" parameterType="int">
DELETE FROM s_user WHERE id = #{id}
</select>

<select id="findById" parameterType="int" resultMap="SUser">
SELECT user_id id,user_name name,user_birthday birthday,user_salary salary
FROM s_user WHERE id = #{id}
</select>

<select id="findAll" resultMap="SUser">
SELECT * FROM s_user
</select>

</mapper>






标签:lang,mapper,Statements,salary,xml,IllegalArgumentException,birthday,user,id
From: https://blog.51cto.com/u_15886477/5877682

相关文章

  • golang如何使用go test?
    ​​gotest-run=TestHelloworld​​​​gotest-bench=BenchmarkHelloworld​​​​gotest-timeout30scmap-run^(TestMap)$​​​​test-benchmem-run=^$cmap-......
  • Golang编译缓存与实际项目不一致时报错has no field or method
    go1.9不明确是不是只在这个版本有小bug,有时候对最新进度的项目编译,会报上一个版本的错误,甚至改动无法编译,报出类似下面的错误:util\common\tools.go:2217:19:dtp.ClearWhe......
  • golang获取补码,原码
    packagemainimport("encoding/binary""fmt""strconv")funcmain(){vara=[]byte{0x15,0x4B}varb=[]byte{0xE0,0x15}//fmt.Println(fmt.......
  • golang 分页
    //通过页码尺寸和当前页码以及总数据条数,获取limit,offset//20,2,34funcToLimitOffset(sizeInstring,indexInstring,countint)(limitint,offsetint){size,_......
  • golang如何导出csv格式的文件
    import("fmt""github.com/xormplus/xorm""golang.org/x/text/transform""golang.org/x/text/encoding/simplifiedchinese""io/ioutil""github.com/......
  • golang算法-链表逆序
    前言链表逆序,表述的场景为:A->B->C->D逆序后:D->C>B>A分析需要插入数据,Insert方法需要打印数据,Print方法插入数据时,需要定位最后一个节点,LastNode方法最少需要两个偏移量......
  • golang算法-判断链表是否有环
    前言链表有环,体现为:A->B->C->D->B…分析需要将遍历过的节点存入map,以址为key,空struct为值遍历时,当前节点是否已存在,存在即有环。实现链表//链表的长度,不包过头typeNode......
  • Golang常用的工具函数,无依赖,常更
    util.go//Executef()ntimesonfailfuncRetryHandler(nint,ffunc()(bool,error))error{ok,er:=f()ifok&&er==nil{returnnil}ifn-1>0......
  • golang实现限制每秒多少次的限频操作
    前言一些函数的执行可能会限制频率,比如某个api接口要求每秒最大请求30次。下面记录了自己写的限频和官方的限频代码//加锁限频,输出次数大概率小于最大值funcExecLimit(las......
  • Golang学习日志 ━━ 理解依赖包的管理(mod/非mod)和加载方式(项目路径、相对路径、绝对
    go有很多种方法调用依赖包,mod又加入了对包的版本管理。方式太多不免有令人迷惑和混乱的地方,希望本文能帮助大家了解目前使用规则一、mod/非mod管理方式go提供了两种项目......