gpt4 book ai didi

java - 传递 InsertProvider mybatis-annotation 列表 - 非法参数异常

转载 作者:行者123 更新时间:2023-12-01 10:55:11 24 4
gpt4 key购买 nike

我想用mybatis插入多行。我在 xml 映射方面得到了巨大的帮助。我想用mybatis注解来做。所以我使用 Insertprovider 并传递了列表。我收到非法参数异常...代码如下

@InsertProvider(type=SqlHelper.class,method="insertList")
public void addCartItemList(List<CartItem> list);

public class SqlHelper {
public String insertList(List<CartItem> list){}}

我不确定为什么会收到非法参数异常,因为我正在发送相同类型的参数。有没有什么方法可以在注释中实现这一点而不使用 Insertprovider?如果是这样,这是最好的实现方式(带注释)。提前致谢。

添加了异常

严重:路径 [/context] 上下文中 servlet [dispatcher] 的 Servlet.service() 引发异常 [请求处理失败;嵌套异常是 org.mybatis.spring.MyBatisSystemException:嵌套异常是 org.apache.ibatis.builder.BuilderException:调用 SqlProvider 方法时出错(com.madad.grocery.apnabag.persistance.SqlHelper.insertList)。原因:java.lang.IllegalArgumentException:参数类型不匹配] 根本原因java.lang.IllegalArgumentException:参数类型不匹配

最佳答案

终于找到答案了。

public String insertList(List<CartItem> list){}}.

虽然我正在发送列表,但 Mybatis 期望参数为 StrictMap 类型。所以,我将代码修改为

    public String insertList( Object list1){
StrictMap map=(StrictMap) list1;
List<CartItem> list=(List<CartItem>) map.get("collection");
}

我遇到异常,因为它无法直接类型转换。我想,这可能对某人有用。

关于java - 传递 InsertProvider mybatis-annotation 列表 - 非法参数异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33644580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com