文档章节

传多个参数导致mybatis识别不出参数名

Clover286
 Clover286
发布于 2017/02/25 10:32
字数 216
阅读 305
收藏 1
点赞 0
评论 0

下面这个dao层的接口,里面传了3个参数进去,

public int insertOrderMapProducts(int orderId,int productsId,int amount);

下面是mybatis的map xml配置

<insert id="insertOrderMapProducts" parameterType="int">
		INSERT
		INTO
		shop_orderandproducts(orderId,productsId,amount)
		VALUES
		(#{orderId},#{productsId},#{amount});
	</insert>

以上情况会报错:

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'orderId' not found. Available parameters are [0, 1, 2, param3, param1, param2]

重点是:

Parameter 'orderId' not found

意思是mybatis没找到orderId这个参数,为什么呢?怎么办?

原因:Java是用arg0,arg1代表参数的,所以mybatis无法识别这3个参数名

解决方案:

方法1:把这个3个参数封装到一个entity实体类中,直接把该实体类作为参数传进去

方法2:加入mybatis注解@Param,告诉mybatis参数的名字,如下:

public int insertOrderMapProducts(@Param("orderId") int orderId, @Param("productsId") int productsId,
			@Param("amount") int amount);

 

© 著作权归作者所有

共有 人打赏支持
Clover286
粉丝 8
博文 192
码字总数 65713
作品 0
武汉
程序员
Mybatis参数处理

1、单个参数 mybatis不做特殊处理,只需要用 #{参数名} 取出参数值就可以了 。 注:事实上这里#{id},参数名id可以写任何值,因为只有传了一个参数。 2、多个参数 mybatis会做特殊处理。 多...

小衰哥有点帅 ⋅ 02/09 ⋅ 0

mybatis处理集合和循环数组问题

在使用foreach的时候最容易出错的就是collection属性,该属性是必须指定的,在不同情况 下,该属性的值是不一样的,主要有一下3种情况: 1. 如果传入的是单参数且参数类型是一个List的时候,...

岳静 ⋅ 2012/07/19 ⋅ 3

MyBatis中#和$的区别

MyBatis中使用parameterType向SQL语句传参,parameterType后的类型可以是基本类型int,String,HashMap和java自定义类型。 在SQL中引用这些参数的时候,可以使用两种方式#{parameterName}或者$...

觉皇 ⋅ 2016/04/14 ⋅ 0

让Mybatis查询存储过程不那么另类

Mybatis默认查询存储过程的返回值是使用参数传来传去的,从参数里获取返回值总让我感觉怪怪的,特别是在使用接口做Dao的时候,破坏了Dao接口方法的统一性。 然后就有了mybatis-callable,获得...

miemiedev ⋅ 2014/05/21 ⋅ 2

mybatis的@param注解以及Mybatis传多个参数(三种解决方案)

一、mybatis的@param注解 自定义对象也用@param注解. 在mapper.xml中使用的时候,#{对象别名.属性名},如#{user.userName} 注意,使用了@pram注解的话在mapper.xml不加parameterType。 sele...

小湘西 ⋅ 2016/10/12 ⋅ 0

【Smart插件】smart-plugin-mybatis 介绍

smart-plugin-mybatis 是Smart框架的一个Mybatis插件,使用这个插件你可以比较方便的使用Mybatis。 这里主要介绍如何在Smart中使用该插件。 smart-plugin-mybatis插件将mybatis的配置信息从m...

Liuzh_533 ⋅ 2014/04/09 ⋅ 3

MyBatis之Mapper详解及常用技巧

select 先看一个简单的案例: SELECT * FROM PERSON WHERE ID = #{id} 这个语句被称作 selectPerson,接受一个 int(或 Integer)类型的参数,并返回一个 HashMap 类型的对象,其中的键是列名...

sun2shadows ⋅ 2017/09/15 ⋅ 0

MyBatis传入参数与parameterType

传入简单类型 Java代码: MAPPER : 2. 传入List JAVA代码: 单独传入list时,foreach中的collection必须是list,不不管变量的具体名称是什么。比如这里变量名为idList, collection却是list。 ...

为了美好的明天 ⋅ 05/17 ⋅ 0

python-13:解决header的问题

前面我们已经讲了header是什么以及怎样用代码伪装header,现在来看看修改后的代码并看看运行结果 #!/usr/bin/env python -- coding:UTF-8 -- author = '217小月月坑' import urllib2 url = ...

达岭凹老大 ⋅ 2015/11/24 ⋅ 0

MyBatis3-动态SQL语句

MyBatis的动态SQL语句是基于OGNL表达式的。可以方便的在SQL语句中实现某些逻辑,总体说来MyBatis动态SQL语句主要有以下几类: 1、if语句(简单的条件判断)。 2、choose(when,otherwize),...

easonjim ⋅ 2017/06/21 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Nginx服务架构初探(四):nginx服务器的rewrite功能

nginx服务器的rewrite功能 1.nginx后端服务器组的配置 1>upstream name {…} name是给服务器组限的组名 2>server address [parameters]; address为服务器地址 parame......

余温灬未存 ⋅ 今天 ⋅ 0

layer.prompt使文本框为空的情况下也能点击确定

最近一直在使用layui,但是用到弹出层layer.prompt时,如果文本框是空的话点击确定没有反应,不能向下执行。 但是我又需要空值,看看我原来的代码。 123456789 layer.prompt...

孟飞阳 ⋅ 今天 ⋅ 0

Linux普通文件压缩工具gzip、Bzip2、xz

第六章 文件压缩和打包 6.1 压缩打包介绍 Linux环境常见压缩文件类型: .zip,.gz,.bz2,.xz, .tar.gz,.tar.bz2,.tar.xz 压缩打包的目的 方便文件传输 节省磁盘空间 减少传输花费的时间 ...

弓正 ⋅ 今天 ⋅ 0

移动弹窗基础知识浅析——IOS弹窗体系

摘要: 最为常见的【弹窗】反而是最“捉摸不定”的东西。各种类型的弹窗傻傻分不清楚,不知道在什么场景下应该用哪种弹窗。尤其是遇到“二次确认”等场景…… 因此,打算从头整理移动弹窗的基...

阿里云云栖社区 ⋅ 今天 ⋅ 0

zabbix短信报警统计以及报表展示

一、需求 由于我们的业务报警比较频繁,之前是针对每个报警进行具体处理,但是有时还会重复出现,或者后续处理有时忘记跟进等,因此进行报警短信的统计,可以针对一些问题与业务跟进,明确后...

o翡翠谷o ⋅ 今天 ⋅ 0

JNI 输出LOG

1、导入log头文件。在你使用的 .c/ .cpp 文件中,导入 log.h 头文件。 #include<android/log.h> 2、在android.mk 加上 LOCAL_LDLIBS := -llog 或 LOCAL_SHARED_LIBRARIES := liblog 3、定义L......

国仔饼 ⋅ 今天 ⋅ 0

主线程pthread_exit 作用

#include <iostream>#include <pthread.h>#include <unistd.h>using namespace std;#define NUM_THREADS 10void* say_hello(void* args){ int i = *((int*)args);/......

xxdd ⋅ 今天 ⋅ 0

崛起于Springboot2.X之Mybatis-xml方式操作mysql数据库(3)

序言:当第一篇讲道Mybatis的时候,只要使用过mybatis的java程序员100%都会知道这种方式,因为这是最广泛最全面的编写sql操作mysql数据库的方式,高级sql的编写往往通过xml方式,接下来进入正...

木九天 ⋅ 今天 ⋅ 1

移动弹窗基础知识浅析——IOS弹窗体系

摘要: 最为常见的【弹窗】反而是最“捉摸不定”的东西。各种类型的弹窗傻傻分不清楚,不知道在什么场景下应该用哪种弹窗。尤其是遇到“二次确认”等场景…… 因此,打算从头整理移动弹窗的基...

猫耳m ⋅ 今天 ⋅ 0

spring elasticsearch 2.4 date 日期

1.mappingPUT user_behavior { "mappings": { "user_behavior": { "properties": { "date": { "type": "createDate", ......

xiaomin0322 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部